{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/absences/absence-details/absence-details.component.html","webpack:///./src/app/absences/absence-details/absence-details.component.scss","webpack:///./src/app/absences/absence-details/absence-details.component.ts","webpack:///./src/app/absences/absence-details/absence-details.module.ts","webpack:///./src/app/absences/absence-details/absence-details.routing.ts","webpack:///./src/app/absences/absence-details/absence-header/absence-header.component.html","webpack:///./src/app/absences/absence-details/absence-header/absence-header.component.scss","webpack:///./src/app/absences/absence-details/absence-header/absence-header.component.ts","webpack:///./src/app/absences/absence-details/absence-history/absence-history.component.html","webpack:///./src/app/absences/absence-details/absence-history/absence-history.component.ts","webpack:///./src/app/absences/absences-calendar/absences-calendar.component.html","webpack:///./src/app/absences/absences-calendar/absences-calendar.component.ts","webpack:///./src/app/absences/absences-calendar/absences-calendar.module.ts","webpack:///./src/app/absences/absences-list/absences-list.component.html","webpack:///./src/app/absences/absences-list/absences-list.component.scss","webpack:///./src/app/absences/absences-list/absences-list.component.ts","webpack:///./src/app/absences/absences-list/absences-list.module.ts","webpack:///./src/app/absences/absences-list/absences-list.routing.ts","webpack:///./src/app/absences/absences.model.ts","webpack:///./src/app/absences/absences.rest.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/company/customers/customer-details/customer-details.component.html","webpack:///./src/app/company/customers/customer-details/customer-details.component.scss","webpack:///./src/app/company/customers/customer-details/customer-details.component.ts","webpack:///./src/app/company/customers/customer-details/customer-details.module.ts","webpack:///./src/app/company/customers/customer-details/customer-details.routing.ts","webpack:///./src/app/company/customers/customer-details/customer-employees/customer-employees.component.html","webpack:///./src/app/company/customers/customer-details/customer-employees/customer-employees.component.ts","webpack:///./src/app/company/customers/customer-details/customer-licenses/customer-licenses.component.html","webpack:///./src/app/company/customers/customer-details/customer-licenses/customer-licenses.component.scss","webpack:///./src/app/company/customers/customer-details/customer-licenses/customer-licenses.component.ts","webpack:///./src/app/company/customers/customer-details/customer-licenses/licenses-creation/license-modal.component.html","webpack:///./src/app/company/customers/customer-details/customer-licenses/licenses-creation/license-modal.component.ts","webpack:///./src/app/company/customers/customer-details/header/customer-details-header.component.html","webpack:///./src/app/company/customers/customer-details/header/customer-details-header.component.ts","webpack:///./src/app/company/customers/customer-details/header/customer-details-header.scss","webpack:///./src/app/company/customers/customer-details/system-versions/customer-system-versions/customer-system-versions.component.html","webpack:///./src/app/company/customers/customer-details/system-versions/customer-system-versions/customer-system-versions.component.ts","webpack:///./src/app/company/customers/customer-details/system-versions/system-versions-selection/system-versions-selection.component.html","webpack:///./src/app/company/customers/customer-details/system-versions/system-versions-selection/system-versions-selection.component.ts","webpack:///./src/app/company/customers/customers-list/customers-list.component.html","webpack:///./src/app/company/customers/customers-list/customers-list.component.scss","webpack:///./src/app/company/customers/customers-list/customers-list.component.ts","webpack:///./src/app/company/customers/customers-list/customers-list.module.ts","webpack:///./src/app/company/customers/customers-list/customers-list.routing.ts","webpack:///./src/app/company/customers/customers.model.ts","webpack:///./src/app/company/customers/customers.rest.ts","webpack:///./src/app/company/employees/customer-selection/customer-selection.component.html","webpack:///./src/app/company/employees/customer-selection/customer-selection.component.ts","webpack:///./src/app/company/employees/employee-details/employee-details.component.html","webpack:///./src/app/company/employees/employee-details/employee-details.component.scss","webpack:///./src/app/company/employees/employee-details/employee-details.component.ts","webpack:///./src/app/company/employees/employee-details/employee-details.module.ts","webpack:///./src/app/company/employees/employee-details/employee-details.routing.ts","webpack:///./src/app/company/employees/employee-details/employee-signature-modal/employee-signature-modal.component.html","webpack:///./src/app/company/employees/employee-details/employee-signature-modal/employee-signature-modal.component.ts","webpack:///./src/app/company/employees/employee-details/header/employee-details-header.component.html","webpack:///./src/app/company/employees/employee-details/header/employee-details-header.component.ts","webpack:///./src/app/company/employees/employee-list/employees-list.component.html","webpack:///./src/app/company/employees/employee-list/employees-list.component.scss","webpack:///./src/app/company/employees/employee-list/employees-list.component.ts","webpack:///./src/app/company/employees/employee-list/timesheet-printout-config-modal/timesheet-printout-config-modal.component.html","webpack:///./src/app/company/employees/employee-list/timesheet-printout-config-modal/timesheet-printout-config-modal.component.ts","webpack:///./src/app/company/employees/employee-modal/employee-modal.component.html","webpack:///./src/app/company/employees/employee-modal/employee-modal.component.scss","webpack:///./src/app/company/employees/employee-modal/employee-modal.component.ts","webpack:///./src/app/company/employees/employee.model.ts","webpack:///./src/app/company/employees/employee.rest.ts","webpack:///./src/app/company/employees/employes.module.ts","webpack:///./src/app/company/employees/employess.routing.ts","webpack:///./src/app/company/roles/role-details/role-details.component.html","webpack:///./src/app/company/roles/role-details/role-details.component.scss","webpack:///./src/app/company/roles/role-details/role-details.component.ts","webpack:///./src/app/company/roles/role-details/role-details.model.ts","webpack:///./src/app/company/roles/role-details/role-details.module.ts","webpack:///./src/app/company/roles/role-details/role-details.rest.ts","webpack:///./src/app/company/roles/role-details/role-details.routing.ts","webpack:///./src/app/company/roles/role-modal-add/role-modal-add.component.html","webpack:///./src/app/company/roles/role-modal-add/role-modal-add.component.ts","webpack:///./src/app/company/roles/roles-list/roles-list.component.html","webpack:///./src/app/company/roles/roles-list/roles-list.component.scss","webpack:///./src/app/company/roles/roles-list/roles-list.component.ts","webpack:///./src/app/company/roles/roles-list/roles-list.module.ts","webpack:///./src/app/company/roles/roles-list/roles-list.routing.ts","webpack:///./src/app/company/roles/user-selection/user-selection.component.html","webpack:///./src/app/company/roles/user-selection/user-selection.component.ts","webpack:///./src/app/company/structure/structure-user-events.service.ts","webpack:///./src/app/company/structure/structure-user-roles/structure-user-roles.component.css","webpack:///./src/app/company/structure/structure-user-roles/structure-user-roles.component.html","webpack:///./src/app/company/structure/structure-user-roles/structure-user-roles.component.ts","webpack:///./src/app/company/structure/structure-users-root/structure-users-root.component.css","webpack:///./src/app/company/structure/structure-users-root/structure-users-root.component.html","webpack:///./src/app/company/structure/structure-users-root/structure-users-root.component.ts","webpack:///./src/app/company/structure/structure-users-root/structure-users-root.routing.ts","webpack:///./src/app/company/structure/structure-users.model.ts","webpack:///./src/app/company/structure/structure-users.module.ts","webpack:///./src/app/company/structure/structure-users.rest.ts","webpack:///./src/app/company/structure/structure-users/structure-users.component.css","webpack:///./src/app/company/structure/structure-users/structure-users.component.html","webpack:///./src/app/company/structure/structure-users/structure-users.component.ts","webpack:///./src/app/company/structure/user/user.component.html","webpack:///./src/app/company/structure/user/user.component.scss","webpack:///./src/app/company/structure/user/user.component.ts","webpack:///./src/app/company/users/user-details/header/user-details-header.component.html","webpack:///./src/app/company/users/user-details/header/user-details-header.component.ts","webpack:///./src/app/company/users/user-details/password-the-same.ts","webpack:///./src/app/company/users/user-details/positions/user-details-position.component.html","webpack:///./src/app/company/users/user-details/positions/user-details-position.component.ts","webpack:///./src/app/company/users/user-details/positions/user-details-positions.component.html","webpack:///./src/app/company/users/user-details/positions/user-details-positions.component.ts","webpack:///./src/app/company/users/user-details/user-details.component.html","webpack:///./src/app/company/users/user-details/user-details.component.scss","webpack:///./src/app/company/users/user-details/user-details.component.ts","webpack:///./src/app/company/users/user-details/user-details.module.ts","webpack:///./src/app/company/users/user-details/user-details.rest.ts","webpack:///./src/app/company/users/user-details/user-details.routing.ts","webpack:///./src/app/company/users/users-list/users-list.component.html","webpack:///./src/app/company/users/users-list/users-list.component.scss","webpack:///./src/app/company/users/users-list/users-list.component.ts","webpack:///./src/app/company/users/users-list/users-list.module.ts","webpack:///./src/app/company/users/users-list/users-list.rest.ts","webpack:///./src/app/company/users/users-list/users-list.routing.ts","webpack:///./src/app/company/users/users.model.ts","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.component.html","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.component.scss","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.component.ts","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.module.ts","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.rest.ts","webpack:///./src/app/configuration/holiday-calendar/holiday-calendar.routing.ts","webpack:///./src/app/configuration/object-states/object-states.component.html","webpack:///./src/app/configuration/object-states/object-states.component.scss","webpack:///./src/app/configuration/object-states/object-states.component.ts","webpack:///./src/app/configuration/object-states/object-states.module.ts","webpack:///./src/app/configuration/object-states/object-states.rest.ts","webpack:///./src/app/configuration/object-states/object-states.routing.ts","webpack:///./src/app/configuration/system-versions/system-version-elements/system-version-elements.component.html","webpack:///./src/app/configuration/system-versions/system-version-elements/system-version-elements.component.ts","webpack:///./src/app/configuration/system-versions/system-version.model.ts","webpack:///./src/app/configuration/system-versions/system-version/system-version.component.html","webpack:///./src/app/configuration/system-versions/system-version/system-version.component.ts","webpack:///./src/app/configuration/system-versions/system-versions-header.model.ts","webpack:///./src/app/configuration/system-versions/system-versions-header/system-versions.component.html","webpack:///./src/app/configuration/system-versions/system-versions-header/system-versions.component.scss","webpack:///./src/app/configuration/system-versions/system-versions-header/system-versions.component.ts","webpack:///./src/app/configuration/system-versions/system-versions.module.ts","webpack:///./src/app/configuration/system-versions/system-versions.rest.ts","webpack:///./src/app/configuration/system-versions/system-versions.routing.ts","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/core/core/JwtHttp.ts","webpack:///./src/app/core/core/rest.service.ts","webpack:///./src/app/core/core/session.service.ts","webpack:///./src/app/core/menu/menu.service.ts","webpack:///./src/app/core/module-import-guard.ts","webpack:///./src/app/core/services/grid-params-restoring/grid-params-restoring.model.ts","webpack:///./src/app/core/services/grid-params-restoring/grid-params-restoring.service.ts","webpack:///./src/app/core/services/notification/notification.service.ts","webpack:///./src/app/core/services/permissions/permissions.model.ts","webpack:///./src/app/core/services/permissions/permissions.service.ts","webpack:///./src/app/core/services/printout/printout-service.service.ts","webpack:///./src/app/core/services/routing-history/routing-history.service.ts","webpack:///./src/app/core/services/spinner-handler/spinner-handler.service.ts","webpack:///./src/app/core/settings/settings.service.ts","webpack:///./src/app/core/shared/attachments/attachments.component.html","webpack:///./src/app/core/shared/attachments/attachments.component.scss","webpack:///./src/app/core/shared/attachments/attachments.component.ts","webpack:///./src/app/core/shared/attachments/attachments.model.ts","webpack:///./src/app/core/shared/attachments/attachments.rest.ts","webpack:///./src/app/core/shared/calendar/calendar.component.html","webpack:///./src/app/core/shared/calendar/calendar.component.ts","webpack:///./src/app/core/shared/date-input/date-input.component.html","webpack:///./src/app/core/shared/date-input/date-input.component.ts","webpack:///./src/app/core/shared/date-input/date-input.model.ts","webpack:///./src/app/core/shared/dialog/dialog-config.ts","webpack:///./src/app/core/shared/dialog/dialog-directive.ts","webpack:///./src/app/core/shared/dialog/dialog-injector.ts","webpack:///./src/app/core/shared/dialog/dialog-ref.ts","webpack:///./src/app/core/shared/dialog/dialog.component.html","webpack:///./src/app/core/shared/dialog/dialog.component.ts","webpack:///./src/app/core/shared/dialog/dialog.service.ts","webpack:///./src/app/core/shared/employee-selection/employee-id-selection.component.html","webpack:///./src/app/core/shared/employee-selection/employee-id-selection.component.ts","webpack:///./src/app/core/shared/grid/column-editor/column-editor.component.html","webpack:///./src/app/core/shared/grid/column-editor/column-editor.component.scss","webpack:///./src/app/core/shared/grid/column-editor/column-editor.component.ts","webpack:///./src/app/core/shared/grid/grid-checkbox-filter/grid-checkbox-filter.component.html","webpack:///./src/app/core/shared/grid/grid-checkbox-filter/grid-checkbox-filter.component.ts","webpack:///./src/app/core/shared/grid/grid-header/grid-header.component.html","webpack:///./src/app/core/shared/grid/grid-header/grid-header.component.ts","webpack:///./src/app/core/shared/grid/grid-row-buttons/grid-row-buttons.component.html","webpack:///./src/app/core/shared/grid/grid-row-buttons/grid-row-buttons.component.ts","webpack:///./src/app/core/shared/grid/grid.component.html","webpack:///./src/app/core/shared/grid/grid.component.scss","webpack:///./src/app/core/shared/grid/grid.component.ts","webpack:///./src/app/core/shared/grid/grid.model.ts","webpack:///./src/app/core/shared/grid/grid.rest.ts","webpack:///./src/app/core/shared/grid/if-nan.filter.ts","webpack:///./src/app/core/shared/grid/readonly-checkbox.directive.ts","webpack:///./src/app/core/shared/input-focus.directive.ts","webpack:///./src/app/core/shared/item-selection/item-selection.component.html","webpack:///./src/app/core/shared/item-selection/item-selection.component.scss","webpack:///./src/app/core/shared/item-selection/item-selection.component.ts","webpack:///./src/app/core/shared/message-box.component.ts","webpack:///./src/app/core/shared/modal/modal.component.html","webpack:///./src/app/core/shared/modal/modal.component.ts","webpack:///./src/app/core/shared/objectToSelect.model.ts","webpack:///./src/app/core/shared/resizable.directive.ts","webpack:///./src/app/core/shared/richtext/richtext.component.html","webpack:///./src/app/core/shared/richtext/richtext.component.ts","webpack:///./src/app/core/shared/richtext/usernote.rest.ts","webpack:///./src/app/core/shared/shared.module.ts","webpack:///./src/app/core/shared/spinedit/delete-comma-pipe.pipe.ts","webpack:///./src/app/core/shared/spinedit/spinedit.component.html","webpack:///./src/app/core/shared/spinedit/spinedit.component.scss","webpack:///./src/app/core/shared/spinedit/spinedit.component.ts","webpack:///./src/app/core/shared/tabmenu/tabmenu.component.html","webpack:///./src/app/core/shared/tabmenu/tabmenu.component.scss","webpack:///./src/app/core/shared/tabmenu/tabmenu.component.ts","webpack:///./src/app/core/shared/treelist/treelist-element/treelist-element.component.css","webpack:///./src/app/core/shared/treelist/treelist-element/treelist-element.component.html","webpack:///./src/app/core/shared/treelist/treelist-element/treelist-element.component.ts","webpack:///./src/app/core/shared/treelist/treelist-event.service.ts","webpack:///./src/app/core/shared/treelist/treelist.component.css","webpack:///./src/app/core/shared/treelist/treelist.component.html","webpack:///./src/app/core/shared/treelist/treelist.component.ts","webpack:///./src/app/core/shared/treelist/treelist.rest.ts","webpack:///./src/app/core/themes/themes.service.ts","webpack:///./src/app/core/translator/translator.service.ts","webpack:///./src/app/dashboard/dashboard-items/dashboard-items.component.html","webpack:///./src/app/dashboard/dashboard-items/dashboard-items.component.ts","webpack:///./src/app/dashboard/dashboard-items/dashboard-items.rest.ts","webpack:///./src/app/dashboard/dashboard.component.html","webpack:///./src/app/dashboard/dashboard.component.ts","webpack:///./src/app/dashboard/dashboard.module.ts","webpack:///./src/app/dashboard/dashboard.routing.ts","webpack:///./src/app/dictionaries/dictionaries/dictionaries.component.html","webpack:///./src/app/dictionaries/dictionaries/dictionaries.component.ts","webpack:///./src/app/dictionaries/dictionaries/dictionaries.module.ts","webpack:///./src/app/dictionaries/dictionaries/dictionaries.routing.ts","webpack:///./src/app/dictionaries/dictionariesRoot.module.ts","webpack:///./src/app/dictionaries/dictionariesRoot.rooting.ts","webpack:///./src/app/dictionaries/dictionary/dictionary.component.html","webpack:///./src/app/dictionaries/dictionary/dictionary.component.ts","webpack:///./src/app/dictionaries/dictionary/dictionary.rest.ts","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-details/issue-ext-details.component.html","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-details/issue-ext-details.component.ts","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-element-modal/issue-ext-element-modal.component.html","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-element-modal/issue-ext-element-modal.component.scss","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-element-modal/issue-ext-element-modal.component.ts","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-elements/issue-ext-elements.component.html","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-elements/issue-ext-elements.component.ts","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-header/issue-ext-header.component.html","webpack:///./src/app/issues-external/issues-ext-details/issue-ext-header/issue-ext-header.component.ts","webpack:///./src/app/issues-external/issues-ext-list/issues-ext-list.component.html","webpack:///./src/app/issues-external/issues-ext-list/issues-ext-list.component.ts","webpack:///./src/app/issues-external/issues-ext.module.ts","webpack:///./src/app/issues-external/issues-ext.rest.ts","webpack:///./src/app/issues-external/issues-ext.routing.ts","webpack:///./src/app/issues/issue-details/issue-details.module.ts","webpack:///./src/app/issues/issue-details/issue-details.routing.ts","webpack:///./src/app/issues/issue-details/issue-details/issue-details.component.html","webpack:///./src/app/issues/issue-details/issue-details/issue-details.component.scss","webpack:///./src/app/issues/issue-details/issue-details/issue-details.component.ts","webpack:///./src/app/issues/issue-details/issue-element-modal/issue-element-modal.component.html","webpack:///./src/app/issues/issue-details/issue-element-modal/issue-element-modal.component.scss","webpack:///./src/app/issues/issue-details/issue-element-modal/issue-element-modal.component.ts","webpack:///./src/app/issues/issue-details/issue-elements/issue-elements.component.html","webpack:///./src/app/issues/issue-details/issue-elements/issue-elements.component.scss","webpack:///./src/app/issues/issue-details/issue-elements/issue-elements.component.ts","webpack:///./src/app/issues/issue-details/issue-header/issue-header.component.html","webpack:///./src/app/issues/issue-details/issue-header/issue-header.component.scss","webpack:///./src/app/issues/issue-details/issue-header/issue-header.component.ts","webpack:///./src/app/issues/issue-details/issue-relations/issue-relations.component.html","webpack:///./src/app/issues/issue-details/issue-relations/issue-relations.component.scss","webpack:///./src/app/issues/issue-details/issue-relations/issue-relations.component.ts","webpack:///./src/app/issues/issue-details/issue-worklogs/issue-worklogs.component.html","webpack:///./src/app/issues/issue-details/issue-worklogs/issue-worklogs.component.scss","webpack:///./src/app/issues/issue-details/issue-worklogs/issue-worklogs.component.ts","webpack:///./src/app/issues/issue.service.ts","webpack:///./src/app/issues/issues-list/issue-list.module.ts","webpack:///./src/app/issues/issues-list/issues-change-state/issues-change-state.component.html","webpack:///./src/app/issues/issues-list/issues-change-state/issues-change-state.component.scss","webpack:///./src/app/issues/issues-list/issues-change-state/issues-change-state.component.ts","webpack:///./src/app/issues/issues-list/issues-list.component.html","webpack:///./src/app/issues/issues-list/issues-list.component.scss","webpack:///./src/app/issues/issues-list/issues-list.component.ts","webpack:///./src/app/issues/issues-list/issues-list.module.ts","webpack:///./src/app/issues/issues-list/issues-list.routing.ts","webpack:///./src/app/issues/issues.model.ts","webpack:///./src/app/issues/issues.rest.ts","webpack:///./src/app/login/change-password.component.html","webpack:///./src/app/login/change-password.component.ts","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/login/login.guard.ts","webpack:///./src/app/login/login.model.ts","webpack:///./src/app/login/login.module.ts","webpack:///./src/app/login/login.rest.ts","webpack:///./src/app/login/login.routing.ts","webpack:///./src/app/login/login.service.ts","webpack:///./src/app/login/reset-password/reset-password.component.css","webpack:///./src/app/login/reset-password/reset-password.component.html","webpack:///./src/app/login/reset-password/reset-password.component.ts","webpack:///./src/app/login/reset-password/window.provider.ts","webpack:///./src/app/numerator/numerator.component.html","webpack:///./src/app/numerator/numerator.component.scss","webpack:///./src/app/numerator/numerator.component.ts","webpack:///./src/app/numerator/numerator.model.ts","webpack:///./src/app/numerator/numerator.rest.ts","webpack:///./src/app/profile-picture/profile-picture.service.ts","webpack:///./src/app/projects/project-details/project-details.component.html","webpack:///./src/app/projects/project-details/project-details.component.ts","webpack:///./src/app/projects/project-details/project-details.module.ts","webpack:///./src/app/projects/project-details/project-details.routing.ts","webpack:///./src/app/projects/project-details/project-header/project-header.component.html","webpack:///./src/app/projects/project-details/project-header/project-header.component.scss","webpack:///./src/app/projects/project-details/project-header/project-header.component.ts","webpack:///./src/app/projects/project-rows/project-rows.component.html","webpack:///./src/app/projects/project-rows/project-rows.component.scss","webpack:///./src/app/projects/project-rows/project-rows.component.ts","webpack:///./src/app/projects/project-rows/project-rows.module.ts","webpack:///./src/app/projects/project-rows/project-rows.routing.ts","webpack:///./src/app/projects/projects-list/projects-list.component.html","webpack:///./src/app/projects/projects-list/projects-list.component.ts","webpack:///./src/app/projects/projects-list/projects-list.module.ts","webpack:///./src/app/projects/projects-list/projects-list.routing.ts","webpack:///./src/app/projects/projects.model.ts","webpack:///./src/app/projects/projects.rest.ts","webpack:///./src/app/projects/projects.service.ts","webpack:///./src/app/projects/projectstep-list/projectstep-list.component.html","webpack:///./src/app/projects/projectstep-list/projectstep-list.component.scss","webpack:///./src/app/projects/projectstep-list/projectstep-list.component.ts","webpack:///./src/app/projects/projectstep/projectstep.component.html","webpack:///./src/app/projects/projectstep/projectstep.component.scss","webpack:///./src/app/projects/projectstep/projectstep.component.ts","webpack:///./src/app/projects/projectstep/projectstep.module.ts","webpack:///./src/app/projects/projectstep/projectstep.routing.ts","webpack:///./src/app/rcpreport/rcpreport.component.html","webpack:///./src/app/rcpreport/rcpreport.component.ts","webpack:///./src/app/rcpreport/rcpreport.module.ts","webpack:///./src/app/rcpreport/rcpreport.rest.ts","webpack:///./src/app/rcpreport/rcpreport.routing.ts","webpack:///./src/app/shared-template/colors/colors.service.ts","webpack:///./src/app/shared-template/directives/checkall/checkall.directive.ts","webpack:///./src/app/shared-template/directives/easypiechart/easypiechart.directive.ts","webpack:///./src/app/shared-template/directives/flot/flot.directive.ts","webpack:///./src/app/shared-template/directives/jqcloud/jqcloud.directive.ts","webpack:///./src/app/shared-template/directives/now/now.directive.ts","webpack:///./src/app/shared-template/directives/scrollable/scrollable.directive.ts","webpack:///./src/app/shared-template/directives/sparkline/sparkline.directive.ts","webpack:///./src/app/shared-template/directives/vectormap/vectormap.directive.ts","webpack:///./src/app/shared-template/shared-template.module.ts","webpack:///./src/app/shared-template/styles/themes/theme-a.scss","webpack:///./src/app/shared-template/styles/themes/theme-b.scss","webpack:///./src/app/shared-template/styles/themes/theme-c.scss","webpack:///./src/app/shared-template/styles/themes/theme-d.scss","webpack:///./src/app/shared-template/styles/themes/theme-e.scss","webpack:///./src/app/shared-template/styles/themes/theme-f.scss","webpack:///./src/app/shared-template/styles/themes/theme-g.scss","webpack:///./src/app/shared-template/styles/themes/theme-h.scss","webpack:///./src/app/shell/breadcrumbs/breadcrumbs.component.html","webpack:///./src/app/shell/breadcrumbs/breadcrumbs.component.ts","webpack:///./src/app/shell/breadcrumbs/breadcrumbs.models.ts","webpack:///./src/app/shell/buttonFocusDropper.js","webpack:///./src/app/shell/footer/footer.component.html","webpack:///./src/app/shell/footer/footer.component.scss","webpack:///./src/app/shell/footer/footer.component.ts","webpack:///./src/app/shell/layout-settings/layout-settings/layout-settings.component.html","webpack:///./src/app/shell/layout-settings/layout-settings/layout-settings.component.scss","webpack:///./src/app/shell/layout-settings/layout-settings/layout-settings.component.ts","webpack:///./src/app/shell/page-not-found/page-not-found.component.ts","webpack:///./src/app/shell/page-not-found/page-not-found.module.ts","webpack:///./src/app/shell/profile-picture-selection/profile-picture-selection.component.html","webpack:///./src/app/shell/profile-picture-selection/profile-picture-selection.component.scss","webpack:///./src/app/shell/profile-picture-selection/profile-picture-selection.component.ts","webpack:///./src/app/shell/shell-sidenav.service.ts","webpack:///./src/app/shell/shell.component.html","webpack:///./src/app/shell/shell.component.scss","webpack:///./src/app/shell/shell.component.ts","webpack:///./src/app/shell/shell.guard.ts","webpack:///./src/app/shell/shell.module.ts","webpack:///./src/app/shell/shell.rest.ts","webpack:///./src/app/shell/shell.routing.ts","webpack:///./src/app/shell/sidebar-menu/sidebar-menu-element.component.html","webpack:///./src/app/shell/sidebar-menu/sidebar-menu-element.component.ts","webpack:///./src/app/shell/sidebar-menu/sidebar-menu.component.html","webpack:///./src/app/shell/sidebar-menu/sidebar-menu.component.ts","webpack:///./src/app/shell/sidebar-menu/sidebar-menu.module.ts","webpack:///./src/app/shell/sidebar-menu/sidebar-menu.rest.ts","webpack:///./src/app/shell/sidebar-menu/userblock/unsafeHtmlSanitizer.pipe.ts","webpack:///./src/app/shell/sidebar-menu/userblock/userblock.component.html","webpack:///./src/app/shell/sidebar-menu/userblock/userblock.component.scss","webpack:///./src/app/shell/sidebar-menu/userblock/userblock.component.ts","webpack:///./src/app/shell/sidebar-menu/userblock/userblock.service.ts","webpack:///./src/app/shell/spinner/spinner.component.html","webpack:///./src/app/shell/spinner/spinner.component.scss","webpack:///./src/app/shell/spinner/spinner.component.ts","webpack:///./src/app/shell/user-menu/user-menu-item.ts","webpack:///./src/app/shell/user-menu/user-menu.component.html","webpack:///./src/app/shell/user-menu/user-menu.component.ts","webpack:///./src/app/worklogs/worklog-details/worklog-details-issue.module.ts","webpack:///./src/app/worklogs/worklog-details/worklog-details-no-issue.module.ts","webpack:///./src/app/worklogs/worklog-details/worklog-details.component.html","webpack:///./src/app/worklogs/worklog-details/worklog-details.component.scss","webpack:///./src/app/worklogs/worklog-details/worklog-details.component.ts","webpack:///./src/app/worklogs/worklog-details/worklog-details.module.ts","webpack:///./src/app/worklogs/worklog-details/worklog-details.routing.ts","webpack:///./src/app/worklogs/worklog-details/worklog-header/worklog-header.component.html","webpack:///./src/app/worklogs/worklog-details/worklog-header/worklog-header.component.ts","webpack:///./src/app/worklogs/worklogs-list/worklogs-list.component.html","webpack:///./src/app/worklogs/worklogs-list/worklogs-list.component.ts","webpack:///./src/app/worklogs/worklogs-list/worklogs-list.module.ts","webpack:///./src/app/worklogs/worklogs-list/worklogs-list.routing.ts","webpack:///./src/app/worklogs/worklogs.rest.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///./src/modernizr.js","webpack:///./src/vendor.ts"],"names":[],"mappings":";;;;;;;;;AAAA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAm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AE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8B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AAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,gBAAgB,8BAA8B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8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAA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,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE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B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,kBAAkB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,mBAAmB,8BAA8B,EAAE,sBAAsB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,uBAAuB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,wBAAwB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,iBAAiB,8BAA8B,EAAE,eAAe,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,gBAAgB,8BAA8B,EAAE,oBAAoB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,8BAA8B,EAAE,qBAAqB,gDAAgD,EAAE,mBAAmB,+CAA+C,EAAE,kBAAkB,+CAA+C,EAAE,oBAAoB,4BAA4B,EAAE,qBAAqB,0CAA0C,EAAE,mBAAmB,0CAA0C,EAAE,kBAAkB,0CAA0C,EAAE,oBAAoB,0CAA0C,EAAE,ixBAAixB,qCAAqC,EAAE,qmCAAqmC,gBAAgB,EAAE,gCAAgC,8BAA8B,0BAA0B,EAAE,oBAAoB,8BAA8B,EAAE,oBAAoB,gDAAgD,EAAE,gBAAgB,yCAAyC,EAAE,yBAAyB,8BAA8B,EAAE,yBAAyB,yCAAyC,qCAAqC,EAAE,kuBAAkuB,8BAA8B,EAAE,sEAAsE,yCAAyC,qCAAqC,EAAE,kFAAkF,yCAAyC,qCAAqC,EAAE,+OAA+O,yCAAyC,qCAAqC,EAAE,mJAAmJ,gDAAgD,EAAE,gCAAgC,yCAAyC,qCAAqC,EAAE,8CAA8C,+BAA+B,EAAE,2IAA2I,8BAA8B,mBAAmB,EAAE,wNAAwN,8BAA8B,EAAE,6BAA6B,8BAA8B,EAAE,qMAAqM,8BAA8B,0EAA0E,gCAAgC,EAAE,6BAA6B,iLAAiL,2CAA2C,EAAE,EAAE,qDAAqD,kBAAkB,EAAE,0GAA0G,kBAAkB,EAAE,8OAA8O,uBAAuB,EAAE,sEAAsE,gCAAgC,EAAE,wCAAwC,qBAAqB,6BAA6B,EAAE,gMAAgM,8BAA8B,EAAE,yBAAyB,qBAAqB,EAAE,wDAAwD,mBAAmB,EAAE,sIAAsI,qBAAqB,EAAE,kEAAkE,sBAAsB,EAAE,oQAAoQ,8BAA8B,mBAAmB,EAAE,0JAA0J,mBAAmB,EAAE,4BAA4B,+BAA+B,EAAE,mBAAmB,8BAA8B,EAAE,4CAA4C,qBAAqB,EAAE,8DAA8D,qBAAqB,EAAE,kJAAkJ,uBAAuB,EAAE,4EAA4E,qBAAqB,EAAE,wFAAwF,8BAA8B,kCAAkC,EAAE,sMAAsM,8CAA8C,2BAA2B,8BAA8B,EAAE,G;;;;;;;;;;;ACAz3pB,uaAAua,sBAAsB,wN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3V;AAC7B;AACZ;AACR;AACE;AACY;AAO/D;IAUE,8BACE,iBAAoC,EACpC,KAAmB,EACX,MAAc,EACd,KAAqB,EACrB,YAA8B,EAC9B,mBAAwC;QANlD,iBAmBC;QAhBS,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAkB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAZ1C,gBAAW,GAAiB,EAAE,CAAC;QAGvC,YAAO,GAAG,EAAE,CAAC;QACb,cAAS,GAAwB,IAAI,KAAK,EAAgB,CAAC;QAUzD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAM,wBAAiB,CAAC,aAAa,EAAE,EAAjC,CAAiC,CAAC,CAAC;QAEtE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,YAAY,6DAAa,EAA9B,CAA8B,CAAC,CAAC,SAAS,CAAC,UAAC,CAAC;YAC7E,EAAE,EAAC,KAAI,CAAC,MAAM,CAAC,GAAG,KAAM,OAAO;mBAC1B,CAAC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;mBAC9C,CAAC,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAC/C,CAAC,EAAC;gBACF,KAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uCAAQ,GAAf;IACA,CAAC;IAEO,gDAAiB,GAAzB,UAA0B,UAAsB;QAC9C,EAAE,EAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAC3B,CAAC;YACC,MAAM,CAAC;QACT,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,EAAE,EAAC,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAEpC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAE,WAAC;gBAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,EAAE,EAAC,UAAU,CAAC,SAAS,KAAK,EAAE,CAAC,EAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,EAAC,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YACvF,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAC,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,IAAI,EAAC;YAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,qCAAM,GAAd;QAAA,iBAOC;QALC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAC;YACtE,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAU,GAAV;QACE,IAAI,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAoB,CAAC;QACzB,EAAE,EAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAgB,CAAC;QAC7C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,EAAC,mBAAmB,KAAK,EAAE,CAAC,EAAC;gBAC7B,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAgB,CAAC;gBAC3C,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,EAAE,EAAC,MAAM,CAAC,MAAM,GAAE,CAAC,CAAC,EAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAGD,8CAAe,GAAf;QAAA,iBAaC;QAZC,IAAI,MAAoB,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,WAAC;YAEhC,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAC;gBACd,IAAI,KAAK,GAAG,IAAI,yDAAK,EAAE,CAAC;gBACxB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACd,KAAK,CAAC,KAAK,GAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,0CAAW,GAAX;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAa,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACtF,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAAA,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAI,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAnHU,oBAAoB;QAJhC,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;;SAE5B,CAAC;yCAYqB,+DAAiB;YAC7B,gEAAY;YACH,sDAAM;YACP,8DAAc;YACP,4DAAgB;YACT,0EAAmB;OAhBvC,oBAAoB,CAoHhC;IAAD,2BAAC;CAAA;AApHgC;;;;;;;;;;;;;ACDjC;AAAA;AAAA;IAAA;IAGA,CAAC;IAAD,YAAC;AAAD,CAAC;;;;;;;;;;;;;;ACdD;AAAA;AAAO;AACP;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,C;;;;;;;;;;;ACnBA,8BAA8B,GAAG,gCAAgC,KAAK,kCAAkC,Q;;;;;;;;;;;ACAxG,mB;;;;;;;;;;;;;;;;;;;;;;;;;ACAkD;AACqB;AAOvE;IAEE,yBAAmB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAEjD,kCAAQ,GAAR;IACA,CAAC;IALU,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;;;SAGvB,CAAC;yCAG6B,+EAAe;OAFjC,eAAe,CAO3B;IAAD,sBAAC;CAAA;AAP2B;;;;;;;;;;;;ACR5B,sNAAsN,yCAAyC,uwLAAuwL,yCAAyC,mFAAmF,wCAAwC,0dAA0d,wCAAwC,ohBAAohB,2CAA2C,mFAAmF,4CAA4C,2jBAA2jB,gDAAgD,qkBAAqkB,wCAAwC,qeAAqe,wCAAwC,ieAAie,gDAAgD,4eAA4e,2DAA2D,khBAAkhB,2CAA2C,4MAA4M,WAAW,iOAAiO,oCAAoC,8C;;;;;;;;;;;ACAhqW,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA6D;AACa;AACN;AACY;AAC5B;AASpD;IAKI,iCACS,QAAyB,EACzB,MAAqB,EACrB,UAA6B,EAC5B,IAAsB;QAHvB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;QACrB,eAAU,GAAV,UAAU,CAAmB;QAC5B,SAAI,GAAJ,IAAI,CAAkB;QARhC,eAAU,GAAG,kBAAkB,CAAC;QAChC,SAAI,GAAQ,IAAI,CAAC;QAQb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACpD,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAKC;QAJG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAQ;YAC9C,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0CAAQ,GAAR;QACI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kDAAgB,GAAhB,UAAiB,OAAY,EAAE,KAAU;QACvC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,0CAAQ,GAAR;QACI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACnD,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK;QACT,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,+CAAa,GAAb;QAAA,iBAMC;QALG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7C,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,8CAAY,GAAZ,UAAa,QAAa;QACxB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QACtF,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAC7E,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACtF,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAClG,CAAC;IAED,oDAAkB,GAAlB;QACE,IAAI,eAAe,GAAmB;YACpC,EAAE,EAAE,EAAE;YACN,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,mBAAmB,EAAE,KAAK;YAC1B,uBAAuB,EAAE,KAAK;YAC9B,kBAAkB,EAAE,KAAK;YACzB,mBAAmB,EAAE,KAAK;YAC1B,wBAAwB,EAAE,KAAK;YAC/B,wBAAwB,EAAE,KAAK;YAC/B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,GAAG;SACX;QAED,MAAM,CAAC,eAAe,CAAC;IACzB,CAAC;IAED,8CAAY,GAAZ;QACE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACF,CAAC;IAED,6CAAW,GAAX;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAvFQ,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAOqB,+EAAe;YACjB,yEAAa;YACT,qFAAiB;YACtB,4DAAgB;OATvB,uBAAuB,CAyFnC;IAAD,8BAAC;CAAA;AAzFmC;;;;;;;;;;;;;;;;;;;;;;;;;;ACbc;AACT;AASzC;IAEE,+BAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEhC,wCAAQ,GAAf;IACA,CAAC;IAED,4CAAY,GAAZ;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IATU,qBAAqB;QAPjC,+DAAS,CAAC;YACP,QAAQ,EACR,sGAGC;SACJ,CAAC;yCAG4B,sDAAM;OAFvB,qBAAqB,CAUjC;IAAD,4BAAC;CAAA;AAViC;;;;;;;;;;;;;;;;;;;;;;;ACVO;AAC4B;AAMrE;IAAA;IACA,CAAC;IADY,kBAAkB;QAJ9B,8DAAQ,CAAC;YACR,OAAO,EAAE,CAAC,+EAAqB,CAAC;YAChC,YAAY,EAAE,CAAC,+EAAqB,CAAC;SACtC,CAAC;OACW,kBAAkB,CAC9B;IAAD,yBAAC;CAAA;AAD8B;;;;;;;;;;;;ACP/B,2bAA2b,ssBAAssB,gBAAgB,6wB;;;;;;;;;;;ACAjpC,oCAAoC,mBAAmB,qBAAqB,sBAAsB,gBAAgB,iBAAiB,EAAE,gBAAgB,mBAAmB,sBAAsB,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApI;AAC3C;AACiC;AAGtB;AACF;AACqC;AAOtF;IAUE,0CACU,SAAoB,EACpB,IAAsB,EACtB,qBAA4C;QAF5C,cAAS,GAAT,SAAS,CAAW;QACpB,SAAI,GAAJ,IAAI,CAAkB;QACtB,0BAAqB,GAArB,qBAAqB,CAAuB;QAT5C,cAAS,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAIrD,iBAAY,GAAW,mBAAmB,CAAC;IAQlD,CAAC;IAED,mDAAQ,GAAR;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,0BAA0B,CAAC;IAChD,CAAC;IAEM,6DAAkB,GAAzB;QAAA,iBAMC;QALC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,cAAI;YAC3C,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,KAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kDAAO,GAAf;QACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,wDAAa,GAArB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAC1C,CAAC;IAEO,qDAAU,GAAlB;QACE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,uDAAY,GAApB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;IAC1C,CAAC;IAEM,wDAAa,GAApB,UAAqB,KAAY;QAAjC,iBAoBC;QAnBC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC;QAET,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,EAAE,CAAC,CAAE,KAAK,CAAC,CAAC,CAAU,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;YACtC,UAAU,CAAC,0CAA0C,CAAC;YACtD,MAAM,CAAC;QACT,CAAC;QACD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG;YACd,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;YAChC,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YACxC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,+DAAoB,GAA5B;QACE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;YACxC,UAAU,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IA3EkC;QAAlC,+DAAS,CAAC,sBAAsB,CAAC;kCAAuB,qDAAM;kFAAC;IACrC;QAA1B,+DAAS,CAAC,iFAAc,CAAC;kCAAgB,iFAAc;mEAAC;IAC/C;QAAT,4DAAM,EAAE;kCAAY,0DAAY;uEAA2B;IAJjD,gCAAgC;QAL5C,+DAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;;;SAG1C,CAAC;yCAYqB,2DAAS;YACd,4DAAgB;YACC,8FAAqB;OAb3C,gCAAgC,CA8E5C;IAAD,uCAAC;CAAA;AA9E4C;;;;;;;;;;;;;;;;;;;;;;;ACdF;AACJ;AAGvC;IADA;QAEU,uBAAkB,GAAG,IAAI,oDAAO,EAAW,CAAC;QAC7C,kBAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAMhE,CAAC;IAJC,0CAAY,GAAZ,UAAa,KAAsB;QAAtB,qCAAsB;QACjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IANU,mBAAmB;QAD/B,gEAAU,EAAE;OACA,mBAAmB,CAQ/B;IAAD,0BAAC;CAAA;AAR+B;;;;;;;;;;;;ACJhC,sUAAsU,wBAAwB,+LAA+L,uBAAuB,urBAAurB,+NAA+N,iEAAiE,qwBAAqwB,u0BAAu0B,oBAAoB,k9BAAk9B,8fAA8f,iPAAiP,qK;;;;;;;;;;;ACA5yJ,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOuB;AAC4B;AACH;AAKc;AACM;AACU;AAE9E,IAAM,UAAU,GAAG,mBAAO,CAAC,gEAAY,CAAC,CAAC;AACzC,IAAM,OAAO,GAAG,mBAAO,CAAC,4EAAgB,CAAC,CAAC;AAS1C;IAUE,wBACE,iBAAoC,EACpC,KAAmB,EACX,gBAAkC,EACnC,QAAyB,EACzB,gBAAkC;QAFjC,qBAAgB,GAAhB,gBAAgB,CAAkB;QACnC,aAAQ,GAAR,QAAQ,CAAiB;QACzB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAZpC,oBAAe,GAAW,KAAK,CAAC;QAG/B,8BAAyB,GAA0B,IAAI,0DAAY,EAExE,CAAC;QASF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAM,wBAAiB,CAAC,aAAa,EAAE,EAAjC,CAAiC,CAAC,CAAC;QACtE,6DAA6D;QAC7D,6BAA6B;QAC7B,MAAM;IACR,CAAC;IAGM,iCAAQ,GAAf;QAAA,iBAYC;QAXC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB,yBAAyB;YACzB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACrD,CAAC;QACD,+EAA2C,EAAE,CAAC;QAE9C,0DAA0D;QAC1D,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,UAAC,iBAA0B;YAC7E,EAAE,CAAC,CAAC,iBAAiB,CAAC;gBACpB,KAAI,CAAC,kBAAkB,GAAG,6BAA6B,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wCAAe,GAAtB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACzC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEM,oCAAW,GAAlB;QACE,2DAA2D;IAC7D,CAAC;IAED,gDAAuB,GAAvB;QACE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,wCAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAe,GAAf,UAAgB,KAAK;QACnB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC;IACD,yCAAgB,GAAhB,UAAiB,KAAK;QACpB,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACvB,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;QACD,wBAAwB;QACxB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC3C,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAClB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACd,WAAW,CAAC,sBAAsB,CAAC;iBACnC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACd,WAAW,CAAC,kBAAkB,CAAC;iBAC/B,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,yCAAgB,GAAhB;QACE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,oCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAxFsB;QAAtB,+DAAS,CAAC,UAAU,CAAC;;oDAAU;IADrB,cAAc;QAN1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;;;YAGrB,SAAS,EAAE,CAAC,4DAAgB,CAAC;SAC9B,CAAC;yCAYqB,+DAAiB;YAC7B,gEAAY;YACO,4DAAgB;YACzB,+EAAe;YACP,0FAAgB;OAfhC,cAAc,CA0F1B;IAAD,qBAAC;CAAA;AA1F0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5B2B;AACX;AACmB;AACwB;AACW;AAGjG;IACE,oBACU,cAA8B,EAC9B,iBAAqC,EACrC,MAAc,EACd,aAAoC;QAHpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAuB;IAE9C,CAAC;IAEM,gCAAW,GAAlB,UAAmB,IAAI,EAAE,KAAK;QAA9B,iBAcC;QAbC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,uBAAa;YAC5D,EAAE,EAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAChB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,iBAAiB,GAAI,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1E,EAAE,EAAC,CAAC,iBAAiB,CAAC,EAAC;oBACrB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,iBAAiB,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAsB,GAAtB,UAAuB,qBAA6B;QAClD,EAAE,EAAC,qBAAqB,CAAC,EAAC;YACxB,IAAI,WAAW,GAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;YACpF,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YAC9C,EAAE,EAAC,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1F,UAAU,CAAC,4BAA4B,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAnCU,UAAU;QADtB,gEAAU,EAAE;yCAGe,yEAAc;YACX,iGAAkB;YAC7B,sDAAM;YACC,4GAAqB;OALnC,UAAU,CAqCtB;IAAD,iBAAC;CAAA;AArCsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPkB;AACM;AACI;AACJ;AACJ;AACiB;AACe;AACJ;AACT;AACM;AACkC;AAC1C;AACG;AACoD;AAuBnH;IAAA;IAA2B,CAAC;IAAf,WAAW;QArBvB,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,2DAAY;gBACZ,uEAAY;gBACZ,mFAAiB;aAClB;YACD,YAAY,EAAE;gBACZ,+DAAc;gBACd,uFAAoB;gBACpB,gFAAiB;gBACjB,mHAAuB;gBACvB,yEAAe;gBACf,4EAAgB;gBAChB,gIAAgC;aACjC;YACD,SAAS,EAAE;gBACT,uDAAU;gBACV,0EAAmB;aACpB;SACF,CAAC;OACW,WAAW,CAAI;IAAD,kBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCmB;AACa;AAKxD;IAQE,0BAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;QAN7B,uBAAkB,GAAK,uBAAuB,CAAC;QAC/C,yBAAoB,GAAG,0BAA0B,CAAC;QAClD,0BAAqB,GAAG,+BAA+B,CAAC;QACxD,uBAAkB,GAAG,uBAAuB,CAAC;QAC7C,yBAAoB,GAAG,4BAA4B,CAAC;IAG5D,CAAC;IAEM,4CAAiB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC;IAEM,0CAAe,GAAtB,UAAuB,IAAY,EAAE,MAA2B;QAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,6CAAkB,GAAzB,UAA0B,QAAa;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,0CAAe,GAAtB,UAAuB,eAAoB;QAEvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IACpE,CAAC;IAEM,4CAAiB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClD,CAAC;IA9BU,gBAAgB;QAD5B,gEAAU,EAAE;yCASe,mEAAW;OAR1B,gBAAgB,CA+B5B;IAAD,uBAAC;CAAA;AA/B4B;;;;;;;;;;;;;ACN7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACJ;AACR;AACqB;AACmB;AACH;AACA;AACC;AACe;AACP;AACM;AACX;AACR;AACQ;AACb;AACd;AACc;AACa;AACc;AAClC;AAEhE,IAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,+DAAc,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC;QAC9D,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE;YACpD,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAM,kFAAe,EAAf,CAAe,EAAE;YAC1D,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAM,qGAAoB,EAApB,CAAoB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YAC9H,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,cAAM,kGAAe,EAAf,CAAe,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YAC9G,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAM,0FAAe,EAAf,CAAe,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YACtH,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAM,kHAAmB,EAAnB,CAAmB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YAC1H,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,qEAAW,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YAClJ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,qEAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YAC9I,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,qEAAW,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YAClJ,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,qEAAW,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YAC7J,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAM,+FAAgB,EAAhB,CAAgB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;YACjH,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACvH,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,cAAM,kGAAe,EAAf,CAAe,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;YACrH,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,cAAM,mGAAsB,EAAtB,CAAsB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE;YACzI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAM,0FAAe,EAAf,CAAe,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YACtH,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,cAAM,uGAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;YACvH,EAAE,IAAI,EAAE,4BAA4B,EAAE,YAAY,EAAE,cAAM,2GAAkB,EAAlB,CAAkB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE;YACrJ,EAAE,IAAI,EAAE,8BAA8B,EAAE,YAAY,EAAE,cAAM,kHAAoB,EAApB,CAAoB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;YACnJ,EAAE,IAAI,EAAE,+BAA+B,EAAE,YAAY,EAAE,cAAM,qHAAqB,EAArB,CAAqB,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE;YACvJ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAM,mFAAe,EAAf,CAAe,EAAE,WAAW,EAAE,CAAC,uDAAU,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,iCAAiC,EAAE,EAAC;SAE7I;KACF;CACF,CAAC;AAEK,IAAM,YAAY,GAAG,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;AClD1D,yUAAyU,cAAc,8JAA8J,cAAc,+QAA+Q,cAAc,8IAA8I,cAAc,+TAA+T,cAAc,+M;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCpqC;AAC5D;AACU;AACY;AACQ;AASvE;IASE,qCACU,MAAc,EACd,mBAAwC,EACxC,QAAyB,EACjC,iBAAoC,EACpC,KAAmB;QAJX,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,aAAQ,GAAR,QAAQ,CAAiB;QAT1B,cAAS,GAAY,KAAK,CAAC;QAI5B,yBAAoB,GAAY,KAAK,CAAC;QAQ1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAM,wBAAiB,CAAC,aAAa,EAAE,EAAjC,CAAiC,CAAC,CAAC;IAC1E,CAAC;IAEM,iDAAW,GAAlB;QACI,kCAAkC;IACtC,CAAC;IAEO,gDAAU,GAAlB,UAAmB,OAAoB;QACrC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;IACvE,CAAC;IAEO,8CAAQ,GAAhB,UAAiB,OAAoB;QACnC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IACvF,CAAC;IAEO,oDAAc,GAAtB,UAAuB,KAAK,EAAE,OAAoB;QAChD,EAAE,EAAC,KAAK,CAAC,EAAC;YACR,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC;mBAC7C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;mBACjD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAC;gBAC/C,MAAM,CAAC;YACT,CAAC;YACD,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAE,YAAE,IAAI,SAAE,CAAC,QAAQ,GAAG,KAAK,EAAnB,CAAmB,CAAE,CAAC;gBAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACjB,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC1C,EAAE,EAAC,UAAU,CAAC,CACd,CAAC;gBACC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,oDAAc,GAAtB,UAAuB,KAAK,EAAE,OAAoB;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,EAAE,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC;eAC9C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;eACjD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;eAC7C,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,6CAAO,GAAf,UAAgB,KAAK,EAAE,OAAoB;QACzC,IAAI,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAGO,8CAAQ,GAAhB,UAAiB,OAAoB;QACnC,MAAM,CAAC;YACL,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ;YACnC,eAAe,EAAE,OAAO,CAAC,QAAQ;SAClC,CAAC;IACJ,CAAC;IAEO,+CAAS,GAAjB,UAAkB,OAAoB;QACpC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACnE,CAAC;IAEO,gEAA0B,GAAlC,UAAmC,MAAM,EAAE,OAAoB;QAA/D,iBAsDC;QArDC,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG,MAAM,CAAC;QAChB,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,cAAc;QACd,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,EAAE,GAAG,CAAC,CAAC,gDAA8C,CAAC,CAAC;QAEvD,IAAI,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnC,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,UAAS,CAAC,EAAC,OAAO;YAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACd,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,UAAS,CAAC,EAAC,OAAO;YAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEd,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAO;YACnC,IAAI,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAE/C,IAAI,CAAC,GAAG,CAAC,CAAC,eAAY,OAAO,CAAC,IAAI,yBAAqB,GAAC,OAAO,CAAC,IAAI,GAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;YAEd,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,GAAC,OAAO,CAAC,IAAI,GAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACX,CAAC;QACD,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;QAC3C,IAAI,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAC,6BAA6B;QAC/G,IAAI,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B;QAChF,IAAI,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC;QAC5C,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,WAAW;aACN,WAAW,CAAC,SAAS,CAAC,CAAC,+DAA+D;aACtF,QAAQ,CAAC,cAAc,CAAC;aACxB,GAAG,CAAC;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;YAC1E,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;SAC5E,CAAC,CAAC;QACP,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IACD,6DAAuB,GAAvB;QAAA,iBAOD;QANG,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,UAAC,CAAC;YACzC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClD,KAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEC,uDAAiB,GAAjB;QACE,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAEM,8DAAwB,GAA/B;QAAA,iBAMC;QALC,UAAU,CAAC;YACT,EAAE,EAAC,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC9B,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEM,0DAAoB,GAA3B,UAA4B,KAAK;QAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IApKQ;QAAR,2DAAK,EAAE;;yEAAiC;IAChC;QAAR,2DAAK,EAAE;;kEAA4B;IAHzB,2BAA2B;QALvC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;SAEhC,CAAC;yCAYkB,sDAAM;YACO,0EAAmB;YAC9B,+EAAe;YACd,+DAAiB;YAC7B,gEAAY;OAdV,2BAA2B,CAuKvC;IAAD,kCAAC;CAAA;AAvKuC;;;;;;;;;;;;ACdxC,6R;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA0F;AACpC;AAEiB;AAC9B;AAQzC;IAOE,8BACU,WAA4B,EAC5B,MAAc,EACf,QAAyB;QAFxB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,WAAM,GAAN,MAAM,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAiB;QAN3B,iBAAY,GAAkB,EAAE,CAAC;QACjC,sBAAiB,GAAG,IAAI,0DAAY,EAAE,CAAC;IAMxC,CAAC;IAEP,uCAAQ,GAAR;QAAA,iBAgBC;QAfG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC7C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAI;gBAE5B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAE,CAAC;YACJ,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAE,cAAI;YACvE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACR,KAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,qDAAsB,GAA9B;QACE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAI;YAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAlCQ;QAAR,2DAAK,EAAE;kCAAoB,0DAAY;mEAAU;IADvC,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;;YAE5B,SAAS,EAAE,CAAC,kEAAe,CAAC;SAC7B,CAAC;yCASuB,kEAAe;YACpB,sDAAM;YACL,+EAAe;OAVvB,oBAAoB,CAqChC;IAAD,2BAAC;CAAA;AArCgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZQ;AACM;AACiB;AACe;AAChB;AACM;AACJ;AAEc;AAW/E;IAAA;IACA,CAAC;IADY,iBAAiB;QAT7B,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,uEAAY;aACb;YACD,OAAO,EAAE,CAAE,4EAAoB,CAAE;YACjC,YAAY,EAAE,CAAC,4EAAoB,EAAE,2FAA2B,EAAE,iFAAkB,EAAE,2FAAuB,CAAC;YAC9G,SAAS,EAAE,CAAC,6EAAgB,CAAC;SAC9B,CAAC;OACW,iBAAiB,CAC7B;IAAD,wBAAC;CAAA;AAD6B;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBa;AAEgB;AAG3D;IAEE,yBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IACrC,CAAC;IAEM,sCAAY,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAChD,CAAC;IAPU,eAAe;QAD3B,gEAAU,EAAE;yCAGe,mEAAW;OAF1B,eAAe,CAQ3B;IAAD,sBAAC;CAAA;AAR2B;;;;;;;;;;;;;;;;;;;;;;;;;;ACLS;AACoB;AAKzD;IACE;;OAEG;IACH,iCAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAG,CAAC;IAE/C,2CAAS,GAAT,UAAU,IAAI;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IARU,uBAAuB;QAHnC,0DAAI,CAAC;YACJ,IAAI,EAAE,qBAAqB;SAC5B,CAAC;yCAK+B,sEAAY;OAJhC,uBAAuB,CASnC;IAAD,8BAAC;CAAA;AATmC;;;;;;;;;;;;ACNpC,0QAA0Q,0SAA0S,iCAAiC,IAAI,gBAAgB,iDAAiD,WAAW,4B;;;;;;;;;;;ACArqB,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAyD;AACF;AACa;AACqB;AAOzF;IAGE,4BAAmB,gBAAkC,EAC7C,aAA4B,EAC5B,qBAA4C;QAFjC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC7C,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAJ5C,SAAI,GAAQ,EAAE,CAAC;QACvB,mBAAc,GAAY,KAAK,CAAC;IAGwB,CAAC;IAEzD,qCAAQ,GAAR;QAAA,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,cAAI;YAClD,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC;YACjG,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACrC,EAAE,EAAC,SAAS,CAAC,EAAC;gBACZ,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,iBAAO,IAAK,KAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,GAAC,CAAC,CAAC;IACzJ,CAAC;IACD,+CAAkB,GAAlB;QACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC;IApBY,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAIqC,mEAAgB;YAC9B,yEAAa;YACL,8FAAqB;OALzC,kBAAkB,CAsB9B;IAAD,yBAAC;CAAA;AAtB8B;;;;;;;;;;;;;;;;;;;;;;;;;;ACVY;AACW;AAGtD;IAEI,0BACW,WAAsB;QAAtB,gBAAW,GAAX,WAAW,CAAW;QAE7B,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC;IAClC,CAAC;IAED,wCAAa,GAAb;QACI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,wCAAa,GAAb,UAAc,IAAW;QAAX,kCAAW;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,2CAAgB,GAAhB;QACI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,wCAAa,GAAb;QACI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAE5C,CAAC;IAxBQ,gBAAgB;QAD5B,gEAAU,EAAE;yCAIe,2DAAS;OAHxB,gBAAgB,CAyB5B;IAAD,uBAAC;CAAA;AAzB4B;;;;;;;;;;;;ACJ7B,iW;;;;;;;;;;;ACAA,uCAAuC,oBAAoB,aAAa,cAAc,6CAA6C,6CAA6C,0DAA0D,EAAE,iCAAiC,iCAAiC,EAAE,mBAAmB,2BAA2B,wBAAwB,eAAe,EAAE,mBAAmB,2BAA2B,uBAAuB,eAAe,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;ACApa;AACoC;AAO7F;IAGE,0BAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAFzC,SAAI,GAAY,KAAK,CAAC;IAEuB,CAAC;IAEvD,mCAAQ,GAAR;QACE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IANQ;QAAR,2DAAK,EAAE;;kDAAuB;IADpB,gBAAgB;QAL5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;;;SAGxB,CAAC;yCAIoC,qGAAc;OAHvC,gBAAgB,CAS5B;IAAD,uBAAC;CAAA;AAT4B;;;;;;;;;;;;;ACR7B;AAAA;AAAA;IAII,sBAAY,IAAY,EAAE,UAAkB;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IACL,mBAAC;AAAD,CAAC;;;;;;;;;;;;;ACRD,wcAAwc,eAAe,wZAAwZ,eAAe,sL;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAj0B;AACJ;AAChB;AACO;AACoE;AAMpH;IAKE,2BACU,YAA0B,EAC1B,MAAc;QADd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAEtB,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,4DAAY,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;YAChE,IAAI,4DAAY,CAAC,SAAS,EAAE,aAAa,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,oCAAQ,GAAR;IACA,CAAC;IAED,uCAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC;YACnC,IAAM,WAAW,GAAG,OAAO,CAAC;YAC5B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAuB,GAAvB;QACE,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,CAAC;IACpD,CAAC;IAxB4C;QAA5C,+DAAS,CAAC,+HAAgC,CAAC;kCAA0B,+HAAgC;sEAAC;IAH5F,iBAAiB;QAJ7B,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;;SAE1B,CAAC;yCAOwB,iEAAY;YAClB,sDAAM;OAPb,iBAAiB,CA4B7B;IAAD,wBAAC;CAAA;AA5B6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACToC;AACwB;AACe;AACpB;AACrC;AACG;AACS;AACW;AACjB;AACb;AACuB;AACe;AAa/E;IAAA;IAAuC,CAAC;IAA3B,yBAAyB;QAXrC,8DAAQ,CAAC;YACN,OAAO,EAAC;gBACJ,6EAAoB;gBACpB,8EAAqB;gBACrB,wFAAgB;aACf;YACL,YAAY,EAAC,EAAE;YACf,eAAe,EAAE,CAAC,kGAAoB,EAAE,iHAAsB,EAAE,6FAAmB,CAAC;YACpF,SAAS,EAAE,CAAC,2DAAY,EAAE,2DAAS,EAAG,oEAAY,EAAE,+EAAa,EAAE,8DAAU,CAAE;YAC/E,OAAO,EAAE,EAAE;SACd,CAAC;OACW,yBAAyB,CAAE;IAAD,gCAAC;CAAA;AAAF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBS;AACmB;AACH;AACoC;AACd;AACf;AACa;AACO;AACe;AACpB;AACrC;AACG;AACS;AACW;AACjB;AACb;AACoC;AACb;AAiBhE;IAAA;IAAyC,CAAC;IAA7B,2BAA2B;QAfvC,+DAAQ,CAAC;YACN,OAAO,EAAC;gBACJ,4DAAY;gBACZ,uEAAY;gBACZ,6EAAoB;gBACpB,8EAAqB;gBACrB,2GAAmB;gBACnB,6FAAkB;gBAClB,sFAAe;aACd;YACL,YAAY,EAAC,EAAE;YACf,eAAe,EAAE,CAAC,kFAAuB,EAAE,+FAAsB,EAAE,kGAAoB,EAAE,iHAAsB,EAAE,6FAAmB,CAAC;YACrI,SAAS,EAAE,CAAC,4DAAY,EAAE,4DAAS,EAAG,qEAAY,EAAE,gFAAa,EAAE,+DAAU,EAAE,kFAAuB,CAAC;YACvG,OAAO,EAAE,EAAE;SACd,CAAC;OACW,2BAA2B,CAAE;IAAD,kCAAC;CAAA;AAAF;;;;;;;;;;;;ACnCxC,6mB;;;;;;;;;;;ACAA,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA0F;AAEjC;AACT;AAGyC;AACN;AACU;AACwB;AAC3D;AAQ1D;IACE,iCACU,MAAc,EACd,KAAqB,EACrB,IAAkB,EAClB,kBAAsC,EACtC,cAA8B,EAC9B,0BAAsD,EACtD,YAA0B;QAPpC,iBASC;QARS,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,SAAI,GAAJ,IAAI,CAAc;QAClB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,iBAAY,GAAZ,YAAY,CAAc;QAM7B,UAAK,GAAG,KAAK,CAAC;QACd,gBAAW,GAAG,KAAK,CAAC;QAEpB,WAAM,GAAG,KAAK,CAAC;QACd,aAAQ,GAAG,KAAK,CAAC;QAEjB,gBAAW,GAAiB;YAClC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAQ,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;YACrI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAQ,KAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;SACtI,CAAC;QACM,eAAU,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAQ,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAd3J,CAAC;IAoBuD,kDAAgB,GAAhB,UAAiB,KAAoB;QAC3F,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAgEC;QA/DC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,oBAAoB,EAA/B,CAA+B,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3E,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YACrC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC5B,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAO;oBACvE,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;oBACnC,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;oBACvF,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,KAAY;oBACpD,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;wBACV,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACrB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,KAAI,CAAC,KAAK,GAAG,IAAI;oBACnB,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,WAAS,GAAW,IAAI,CAAC;gBAC7B,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC;oBAC5B,WAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,EAAE,CAAC,CAAC,WAAS,KAAK,IAAI,CAAC,CAAC,CAAC;oBACvB,EAAE,CAAC,CAAC,WAAS,GAAG,CAAC,CAAC,CAAC,CAAC;wBAClB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAS,CAAC,CAAC,SAAS,CAAC,iBAAO;4BAC/C,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;4BACvB,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gCACf,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4BAC/B,CAAC;4BACD,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;4BAC7F,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;wBAC7B,CAAC,CAAC,CAAC;oBACL,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;wBACnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,WAAS,EAAlB,CAAkB,CAAC,CAAC;wBACjE,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC;4BACb,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC/B,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;wBAC7F,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,KAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,iBAAO;wBAC3C,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;wBACvB,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC;4BACb,KAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC/B,KAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;wBAC7F,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC7B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAe,GAAf;QACE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,gDAAc,GAAd,UAAe,SAAiB;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;IAEM,sCAAI,GAAX;QAAA,iBA4BC;QA3BC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC5C,UAAU,CAAC,wCAAwC,CAAC,CAAC;YACrD,MAAM,CAAC;QACT,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1D,UAAU,CAAC,0DAA0D,EAAE;gBACrE,OAAO,EAAE;oBACP,GAAG,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,KAAK;qBACb;oBACD,EAAE,EAAE;wBACF,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF,CAAC;iBACC,IAAI,CAAC,UAAC,KAAK;gBACV,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBACd,KAAK,KAAK;wBACR,KAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,KAAK,CAAC;gBACV,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,6CAAW,GAAnB;QAAA,iBAoCC;QAnCC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC,IAAI,CAAC;YAC3H,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACnJ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/I,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAE;gBAC/C,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACf,KAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBACD,EAAE,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjD,KAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;oBACrB,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,CAAC;gBACD,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,KAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EAAE,UAAC,KAAK;gBACP,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,uCAAK,GAAb;QACE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,YAAY,GAAG,QAAQ,CAAC;QAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAChB,YAAY,GAAG,WAAW,CAAC;QAC7B,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAhKkC;QAAlC,+DAAS,CAAC,+FAAsB,CAAC;kCAAyB,+FAAsB;2EAAC;IAE1B;QAAvD,kEAAY,CAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC,CAAC;;yCAAyB,aAAa;;mEAG5F;IAjCU,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAGkB,sDAAM;YACP,8DAAc;YACf,2DAAY;YACE,iGAAkB;YACtB,qGAAc;YACF,6HAA0B;YACxC,kEAAY;OARzB,uBAAuB,CA8LnC;IAAD,8BAAC;CAAA;AA9LmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBK;AACM;AACgB;AACO;AACnB;AACH;AACqC;AACc;AACT;AACe;AAC7C;AACW;AACjB;AAC6B;AAcnF;IAAA;IAAkC,CAAC;IAAtB,oBAAoB;QAZhC,8DAAQ,CAAC;YACN,OAAO,EAAC;gBACJ,4DAAY;gBACZ,uEAAY;gBACZ,2GAAmB;gBACnB,6FAAkB;aACjB;YACL,YAAY,EAAC,CAAC,kFAAuB,EAAE,gGAAsB,CAAE;YAC/D,eAAe,EAAE,CAAC,kGAAoB,EAAE,iHAAsB,CAAC;YAC/D,SAAS,EAAE,CAAC,kFAAuB,EAAE,gGAAsB,EAAE,2DAAY,EAAE,2DAAS,EAAG,qEAAY,EAAE,gFAAa,EAAE,+DAAU,CAAE;YAChI,OAAO,EAAE,EAAE;SACd,CAAC;OACW,oBAAoB,CAAE;IAAD,2BAAC;CAAA;AAAF;;;;;;;;;;;;;AC3BjC;AAAA;AAAA;AAAA;AAAuD;AACe;AAEtE,IAAM,MAAM,GAAU;IAClB,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kFAAuB,EAAC;IACjD,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kFAAuB,EAAC;IACjD,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,kFAAuB,EAAC;CACzD,CAAC;AAEK,IAAM,qBAAqB,GAAG,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;ACTnE,+uDAA+uD,kBAAkB,IAAI,kBAAkB,wsBAAwsB,41BAA41B,8zBAA8zB,8zBAA8zB,u6CAAu6C,kBAAkB,IAAI,kBAAkB,uuBAAuuB,0pEAA0pE,kBAAkB,IAAI,kBAAkB,6+BAA6+B,eAAe,KAAK,eAAe,u4BAAu4B,iBAAiB,KAAK,iBAAiB,04EAA04E,eAAe,KAAK,eAAe,03BAA03B,iBAAiB,KAAK,iBAAiB,soC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9/c;AAEc;AACC;AACpC;AACW;AAC+B;AACf;AAEJ;AACN;AACiB;AAGL;AACuC;AACpB;AACH;AAE/B;AACqB;AACF;AAEzE,IAAM,oBAAoB,GAAW,UAAU,CAAC;AAMhD;IAEE,gCACU,IAAkB,EAClB,QAAsB,EACtB,QAAuB,EACvB,SAAqB,EACrB,MAAqB,EACrB,SAAoB;QALpB,SAAI,GAAJ,IAAI,CAAc;QAClB,aAAQ,GAAR,QAAQ,CAAc;QACtB,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAW;QAUtB,kBAAa,GAAG,KAAK,CAAC;QACvB,YAAO,GAAY,IAAI,CAAC;QAMvB,cAAS,GAAG,KAAK,CAAC;IAjBQ,CAAC;IAyBnC,yCAAQ,GAAR;QACE,sBAAsB;IACxB,CAAC;IAEO,oDAAmB,GAA3B,UAA4B,OAAO,EAAE,OAAgB;QAEnD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,yCAAQ,GAAf,UAAgB,OAAgB,EAAE,KAAc,EAAE,KAAY,EAAE,UAAuB;QAAvF,iBAmCC;QAlCC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACrC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,wEAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,UAAC,IAAS;gBACjD,KAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC1C,KAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,kDAAiB,GAAjB;QACE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IAC/C,CAAC;IAEM,8CAAa,GAApB,UAAqB,KAAU;QAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED,+CAAc,GAAd;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IAEM,2CAAU,GAAjB,UAAkB,KAAU;QAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,oDAAoD;IACpD,IAAI;IACJ,oCAAoC;IACpC,4DAA4D;IAC5D,yCAAyC;IACzC,MAAM;IACN,iCAAiC;IACjC,4BAA4B;IAC5B,MAAM;IACN,IAAI;IAEJ,+CAAc,GAAd;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IACM,2CAAU,GAAjB,UAAkB,KAAU;QAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEM,+CAAc,GAArB,UAAsB,YAAoB;QACxC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEO,6CAAY,GAApB,UAAqB,UAAkB;QAAvC,iBAeC;QAdC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAC,MAAwB;YACpE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,CAAC;gBAC3D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,EAAE,CAAC,CAAC,KAAI,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC5C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC,CAAC,CAAC;wBACtD,KAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;oBACjC,CAAC;gBACH,CAAC;gBACD,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,KAAK,IAAI,KAAI,CAAC,OAAO,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC9E,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,+CAAc,GAAtB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,uFAAc,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAEM,kDAAiB,GAAxB,UAAyB,KAAa;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,kDAAiB,GAAxB,UAAyB,OAAO,EAAE,OAAgB;QAChD,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IAC9D,CAAC;IAEO,qDAAoB,GAA5B,UAA6B,KAAwB;QACnD,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gFAAc,EAAE,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC;IAC7C,CAAC;IAEO,qDAAoB,GAA5B,UAA6B,KAAwB;QACnD,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gFAAc,EAAE,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,4BAA4B;IAC5B,2CAA2C;IAC3C,wDAAwD;IACxD,cAAc;IACd,MAAM;IACN,qFAAqF;IACrF,mFAAmF;IACnF,iCAAiC;IACjC,oCAAoC;IACpC,mEAAmE;IACnE,oDAAoD;IAEpD,eAAe;IACf,kCAAkC;IAClC,QAAQ;IACR,QAAQ;IACR,IAAI;IAEI,+CAAc,GAAtB;QAAA,iBAmBC;QAlBC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,MAAqB;YAC7F,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,KAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACtC,KAAI,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC1C,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACnC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACvC,yDAAyD;gBACzD,kCAAkC;gBAClC,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,4CAAW,GAAnB;QAAA,iBAcC;QAbC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAC,MAAqB;YAC1F,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YACtC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kDAAiB,GAAzB;QACE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QAE5B,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,4CAAW,GAAnB;QAAA,iBAqBC;QApBC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YACpC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACjD,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;YACvC,UAAU,CAAC,gCAAgC,CAAC,CAAC;YAC7C,MAAM,CAAC;QACT,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7E,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,MAAkB;YACrE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACnC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kDAAiB,GAAxB;QAAA,iBAuBC;QAtBC,IAAI,UAAU,GAAG,IAAI,+EAAY,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,GAAG,2EAAa,CAAC,MAAM,CAAC;QAChD,UAAU,CAAC,KAAK,GAAG,qBAAqB,CAAC;QACzC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/B,UAAU,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAG,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QAC7F,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kHAAsB,EAAE,UAAU,CAAC,CAAC;QAEjE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,UAAC,MAAmB;YAC5C,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,KAAI,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;gBACpC,KAAI,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBACxC,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;gBACrC,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBAClC,KAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;gBAClC,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC5B,KAAI,CAAC,uBAAuB,CAAC,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtD,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+CAAc,GAArB;QAAA,iBAeC;QAdC,IAAI,UAAU,GAAG,IAAI,+EAAY,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,GAAG,2EAAa,CAAC,MAAM,CAAC;QAChD,UAAU,CAAC,KAAK,GAAG,kBAAkB,CAAC;QACtC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE/B,UAAU,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAG,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAC1F,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kHAAsB,EAAE,UAAU,CAAC,CAAC;QAEjE,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,UAAC,MAAmB;YAC5C,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+CAAc,GAArB;QAAA,iBAsBC;QArBC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YACpC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACjD,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC;YACvC,UAAU,CAAC,qCAAqC,CAAC,CAAC;YAClD,MAAM,CAAC;QACT,CAAC;QACD,IAAI,UAAU,GAAG,IAAI,+EAAY,EAAE,CAAC;QACpC,UAAU,CAAC,aAAa,GAAG,2EAAa,CAAC,MAAM,CAAC;QAChD,UAAU,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACxC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC/B,UAAU,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACvH,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8FAAmB,EAAE,UAAU,CAAC,CAAC;QAC9D,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,UAAC,MAAgB;YACzC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;gBACnB,KAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mDAAkB,GAA1B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;YAChG,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,0CAAS,GAAhB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEM,iDAAgB,GAAvB;QAAA,iBAIC;QAHC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChL,CAAC;IACH,CAAC;IAGO,wDAAuB,GAA/B,UAAgC,UAAkB;QAAlD,iBAWC;QAVC,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,MAAwB;YACrF,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,KAAK,KAAI,CAAC,OAAO,CAAC,aAAa,EAAnC,CAAmC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzE,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;oBAClC,KAAI,CAAC,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,+CAAc,GAAtB,UAAuB,MAAc,EAAE,IAAsB;QAC3D,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxG,CAAC;IAEO,mDAAkB,GAA1B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,MAAM,CAAC;QAET,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAChC,CAAC;IAvX8B;QAA9B,+DAAS,CAAC,iFAAkB,CAAC;kCAAqB,iFAAkB;sEAAC;IAC5C;QAAzB,+DAAS,CAAC,aAAa,CAAC;kCAAc,qDAAM;+DAAC;IACpB;QAAzB,+DAAS,CAAC,aAAa,CAAC;kCAAc,2FAAiB;+DAAC;IACjC;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAY,2FAAiB;6DAAC;IA/B1C,sBAAsB;QAJlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;;SAE/B,CAAC;yCAIgB,2DAAY;YACR,oEAAY;YACZ,+EAAa;YACZ,8DAAU;YACb,iFAAa;YACV,4DAAS;OARnB,sBAAsB,CAoZlC;IAAD,6BAAC;CAAA;AApZkC;;;;;;;;;;;;AC7BnC,q2CAAq2C,kBAAkB,IAAI,kBAAkB,ywFAAywF,kBAAkB,kjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9kI;AACjC;AACoB;AACP;AACQ;AAC9B;AAC+B;AACA;AACV;AAClB;AAIyF;AAEvB;AACxB;AAEJ;AAC/B;AAE1D,IAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,IAAM,kBAAkB,GAAG,QAAQ,CAAC;AAMpC;IAA2C,yCAAa;IAiEtD,+BACU,MAAc,EACd,KAAqB,EACrB,QAAmB,EACnB,gBAAmC,EACnC,YAA0B,EAC1B,cAA8B,EAC9B,0BAAsD,EACtD,cAA8B,EAC9B,iBAAqC,EACrC,YAA0B;QAVpC,YAYE,iBAAO,SAIR;QAfS,YAAM,GAAN,MAAM,CAAQ;QACd,WAAK,GAAL,KAAK,CAAgB;QACrB,cAAQ,GAAR,QAAQ,CAAW;QACnB,sBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,kBAAY,GAAZ,YAAY,CAAc;QAC1B,oBAAc,GAAd,cAAc,CAAgB;QAC9B,gCAA0B,GAA1B,0BAA0B,CAA4B;QACtD,oBAAc,GAAd,cAAc,CAAgB;QAC9B,uBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,kBAAY,GAAZ,YAAY,CAAc;QA1E3B,iBAAW,GAAW,mBAAmB,CAAC;QAW5C,uBAAiB,GAAG,CAAC,CAAC;QAGtB,yBAAmB,GAAQ,EAAE,CAAC;QAS7B,8BAAwB,GAAY,KAAK,CAAC;QAS1C,aAAO,GAAG;YAChB,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC9E,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,QAAQ,EAAE;YACtF,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;YACrF,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC/E,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE;YACrF,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE;YACnF,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC7E,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC/E,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE;YACzF,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;SAChG,CAAC;QAEM,qBAAe,GAAiB;YACtC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,cAAQ,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;SACrI,CAAC;QAEM,oBAAc,GAAmB;YACvC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,2EAAa,CAAC,GAAG,EAAE;YAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,2EAAa,CAAC,GAAG,EAAE;SAClD,CAAC;QAyBA,KAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,aAAa,KAAK,2EAAa,CAAC,IAAI,CAAC,CAAC,CAAC,2EAAa,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,CAAC,aAAa,CAAC;;IAC5G,CAAC;IAEO,oCAAI,GAAZ;QACE,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEjD,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,UAAU,CAAC,0BAA0B,CAAC,CAAC;YACvC,MAAM,CAAC;QACT,CAAC;QAED,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7B,UAAU,CAAC,sCAAsC,CAAC,CAAC;YACnD,MAAM,CAAC;QACT,CAAC;QACD,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3J,CAAC;IAEO,2CAAW,GAAnB;QACE,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC;IAED,wCAAQ,GAAR;QACE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;IAED,+CAAe,GAAf;QACE,2CAA2C;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,8CAAc,GAAd,UAAe,SAAiB;QAAhC,iBAWC;QAVC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAC;YACzB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1E,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,IAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAEvE,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC9C,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC7C,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC/C,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YAClD,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,KAAK,oBAAoB,EAA/B,CAA+B,CAAC,CAAC,OAAO,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,IAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAChI,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0CAAU,GAAlB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,uFAAc,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC;QAE5B,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,oBAAoB,CAAC;QAEnD,IAAI,CAAC,OAAO,GAAG,IAAI,uFAAc,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAE1B,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAEO,iDAAiB,GAAzB;QAAA,iBAIC;QAHC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,YAAiB;YACjE,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8CAAc,GAAtB;QAAA,iBAcC;QAbC,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC7C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,MAAwB;YAChE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAxB,CAAwB,CAAC,CAAC;YACnE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iDAAiB,GAAzB;QAAA,iBAOC;QANC,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,MAAwB;YAChE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACX,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gDAAgB,GAAxB;QAAA,iBAOC;QANC,oCAAoC;QACpC,gCAAgC;QAChC,IAAI;QACJ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,UAAC,IAAS;YAChD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iDAAiB,GAAzB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEO,gDAAgB,GAAxB,UAAyB,IAAoB,EAAE,OAAgB;QAC7D,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC;QACT,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAGD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,kBAAkB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,6CAAa,GAArB;QACE,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACjC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE/C,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YAC/B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAEO,+CAAe,GAAvB,UAAwB,YAAoB,EAAE,WAAmB;QAAjE,iBAWC;QAVC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;gBAClC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC;oBAAC,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,CAAC;IACH,CAAC;IAEM,sCAAM,GAAb;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAI;YACF,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpE,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAEM,2CAAW,GAAlB;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAGO,wCAAQ,GAAhB,UAAiB,KAAM;QACrB,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,2CAAW,GAAnB,UAAoB,GAAe;QAAnC,iBAyBC;QAxBC,UAAU,CAAC,wBAAwB,EAAE;YACnC,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;iBACb;gBACD,EAAE,EAAE;oBACF,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;YACZ,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,KAAK;oBACR,IAAM,MAAM,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC;oBAC/C,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,MAAc;wBAC9D,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;4BACX,UAAU,CAAC,EAAE,IAAI,EAAE,wBAAmB,EAAE,CAAC,CAAC;4BAC1C,KAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yCAAS,GAAjB,UAAkB,GAAe;QAC/B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3H,CAAC;IAEO,wCAAQ,GAAhB,UAAiB,KAAU;QACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IAEO,wDAAwB,GAAhC;QACE,IAAI,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjG,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC;QAElE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAEO,8CAAc,GAAtB,UAAuB,MAAc,EAAE,IAAsB;QAC3D,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxG,CAAC;IAEO,0DAA0B,GAAlC;QACE,IAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEvD,EAAE,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAErD,IAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAErF,IAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,mDAAkD;QAEjG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACnC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9C,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,0CAAU,GAAlB,UAAmB,YAAoB;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,YAAY,EAA/B,CAA+B,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,YAAY,EAA/B,CAA+B,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;IAC1J,CAAC;IAEM,sDAAsB,GAA7B;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzC,CAAC;IACH,CAAC;IAtY4B;QAA5B,+DAAS,CAAC,gBAAgB,CAAC;kCAAiB,gEAAkB;iEAAC;IAwBtC;QAAzB,+DAAS,CAAC,8EAAa,CAAC;kCAAO,8EAAa;uDAAC;IACd;QAA/B,+DAAS,CAAC,sFAAmB,CAAC;kCAAa,sFAAmB;6DAAC;IA0PhE;QADC,kEAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;yDASzC;IA1TU,qBAAqB;QAJjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;;SAE9B,CAAC;yCAmEkB,sDAAM;YACP,8DAAc;YACX,2DAAS;YACD,qFAAiB;YACrB,2DAAY;YACV,uFAAc;YACF,8HAA0B;YACtC,sGAAc;YACX,kGAAkB;YACvB,mEAAY;OA3EzB,qBAAqB,CAsajC;IAAD,4BAAC;CAAA,CAta0C,2EAAa,GAsavD;AAtaiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BO;AACM;AACgB;AACZ;AACH;AACkB;AACJ;AAEiB;AAc7E;IAAA;IAAkC,CAAC;IAAtB,kBAAkB;QAVhC,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACP,4DAAY;gBACZ,0EAAmB;gBACnB,uEAAY;aACb;YACD,YAAY,EAAE,CAAC,8EAAqB,CAAC;YACrC,OAAO,EAAE,EAAE;YACX,SAAS,EAAG,CAAC,2DAAY,EAAE,2DAAS,EAAE,uFAAc,CAAC;SACtD,CAAC;OACW,kBAAkB,CAAI;IAAD,yBAAC;CAAA;AAAJ;;;;;;;;;;;;;ACtBjC;AAAA;AAAA;AAAA;AAAA;AAAuD;AACW;AAG0B;AAE5F,IAAM,MAAM,GAAW;IACnB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,8EAAqB,EAAE;IAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,cAAK,8GAAyB,EAAzB,CAAyB,EAAE;CAClE,CAAC;AAEK,IAAM,mBAAmB,GAAG,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;ACXxB;AACa;AAMxD;IACI,sBAAoB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IACrC,CAAC;IAEM,kCAAW,GAAlB;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAEM,mCAAY,GAAnB,UAAoB,UAAkB;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,wBAAsB,UAAY,CAAC,CAAC;IAC/E,CAAC;IAEM,sCAAe,GAAtB,UAAuB,UAAkB;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,2BAA2B,CAAC,CAAC;IACxE,CAAC;IAEM,sCAAe,GAAtB;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,wBAAwB,CAAC,CAAC;IACrE,CAAC;IAEM,oCAAa,GAApB,UAAqB,SAAiB;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAEM,iCAAU,GAAjB,UAAkB,EAAU;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,0BAAwB,EAAI,CAAC,CAAC;IAChE,CAAC;IAEM,sCAAe,GAAtB;QACI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,0BAA0B,CAAC,CAAC;IAC9D,CAAC;IAEM,kCAAW,GAAlB,UAAmB,OAAgB;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAEM,kCAAW,GAAlB,UAAmB,SAAiB;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,0BAA0B,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAtCQ,YAAY;QADxB,gEAAU,EAAE;yCAEiB,mEAAW;OAD5B,YAAY,CAuCxB;IAAD,mBAAC;CAAA;AAvCwB;;;;;;;;;;;;;ACPzB;AAAA;AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;AAEzD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;GAKG;AACH,mEAAmE;;;;;;;;;;;;;ACdnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;GASG;AAEkB;AAC0B;AAC4B;AAE9B;AACY;AAEzD,EAAE,CAAC,CAAC,qEAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IACzB,oEAAc,EAAE,CAAC;AACrB,CAAC;AAED,IAAI,CAAC,GAAG,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC,CAAC;AAC5D,CAAC,CAAC,IAAI,CAAC,cAAc,MAAO,CAAC,YAAY,IAAU,MAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,qCAAqC;;;;;;;;;;;;ACxBrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA,kBAAkB,qCAAqC;AACvD,KAAK;;AAEL;AACA,kBAAkB,mBAAmB;AACrC;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;;;AAGA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,aAAa,oBAAoB,EAAE,EAAE;AAC9G;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,OAAO;AACpB,aAAa,eAAe;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,uBAAuB;AACpC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA,wCAAwC,iCAAiC,8BAA8B,4BAA4B,6BAA6B;AAChK;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,4BAA4B,sBAAsB,mBAAmB,iBAAiB,kBAAkB;AACxG;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,mBAAmB,EAAE;AACxE;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,cAAc,WAAW;AAC5E,kEAAkE;AAClE,mEAAmE;AACnE,iEAAiE;AACjE,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,aAAa,OAAO,aAAa;AAClE,0DAA0D;AAC1D,yDAAyD;AACzD,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ,SAAS;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA,yDAAyD,MAAM;AAC/D;AACA;AACA;AACA;AACA;;AAEA,cAAc,WAAW,UAAU,YAAY,SAAS,UAAU,UAAU;;AAE5E;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,4BAA4B,mBAAmB,oBAAoB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;;;;;AAKH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,iBAAiB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,EAAE;AAC7B,GAAG;;;AAGH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;AAGA;;AAEA,CAAC,oB;;;;;;;;;;;;ACntDD;AAAA;AAAA;AAAwB,CAAC,0CAA0C","file":"main.js","sourcesContent":["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-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\"./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.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\"./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\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\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 ^\\\\.\\\\/.*$\";","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 = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
\\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\"","module.exports = \"\"","import { Component, OnInit, AfterViewInit, ViewChild, HostListener } from '@angular/core';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { AbsencesRest } from '../absences.rest';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { AbsenceHeaderComponent } from './absence-header/absence-header.component';\nimport { Absence, AbsenceAction, AbsenceCurrentUser, AbsenceNotificationEmployee } from '../absences.model';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { AbsenceHistoryComponent } from './absence-history/absence-history.component';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { EmployeeIdSelectionComponent } from '../../core/shared/employee-selection/employee-id-selection.component';\n\n@Component({\n selector: 'app-absence-details',\n templateUrl: './absence-details.component.html',\n styleUrls: ['./absence-details.component.scss']\n})\nexport class AbsenceDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n public absence: Absence;\n public isNew = false;\n public viewEnabled = false;\n\n private currentUser: AbsenceCurrentUser;\n private isSaving = false;\n private selectedTab = 1\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: AbsencesRest,\n private permissionsService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService\n ) {\n }\n\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false }\n //{ text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false };\n\n permissions: Permissions;\n\n @ViewChild(AbsenceHeaderComponent) absenceHeaderComponent: AbsenceHeaderComponent;\n @ViewChild(AbsenceHistoryComponent) absenceHistoryComponent: AbsenceHistoryComponent;\n @ViewChild(\"notificationEmployeesGrid\") notificationEmployeesGrid: GridComponent;\n @ViewChild(\"employeeselection\") public employeeSelectionModal: EmployeeIdSelectionComponent;\n\n private notificationsHeaders = [\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Imię', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Nazwisko', propertyName: 'surname', propertyType: 'string' }\n ];\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.save();\n event.preventDefault();\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('Absence');\n\n if (this.permissions.canAdd || this.permissions.canEdit) {\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = true;\n this.saveButton.enabled = true;\n }\n this.route.queryParams.subscribe(params => {\n this.spinnerService.show();\n if (params.id !== undefined) {\n let absenceId = parseInt(params.id);\n this.isNew = false;\n this.rest.getAbsence(absenceId).subscribe(absence => {\n this.absence = absence;\n this.getAbsenceCurrentUser();\n this.spinnerService.hide();\n });\n }\n else {\n this.isNew = true;\n this.rest.getEmptyAbsence().subscribe(absence => {\n this.absence = absence;\n this.getAbsenceCurrentUser();\n this.spinnerService.hide();\n });\n }\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n if (tabChangeEvent.index === 1) {\n if (this.absence.history) {\n const lastElement = this.absence.history.sort((a, b) => new Date(a.createdDate).getTime() - new Date(b.createdDate).getTime())[this.absence.history.length - 1];\n if (lastElement) {\n this.absence.absenceStateInternalName = lastElement.stateInternalName;\n }\n }\n }\n if (tabChangeEvent.index === 2) {\n if (this.absence.history == undefined) {\n this.spinnerService.show();\n this.rest.getAbsenceHistory(this.absence.id).subscribe(absenceHistory => {\n this.absence.history = absenceHistory;\n\n this.absenceHistoryComponent.setModel(this.absence);\n this.spinnerService.hide();\n });\n } else {\n this.absenceHistoryComponent.setModel(this.absence);\n }\n }\n }\n\n save() {\n if (this.absenceHeaderComponent.isInvalid()) {\n sweetAlert('Dane są niekompletne, nie można zapisać');\n return;\n }\n this.saveAbsence();\n }\n\n close() {\n this.router.navigate(['../../'], { relativeTo: this.route });\n }\n\n changeState(state: AbsenceAction, withInit: boolean = true) {\n if (this.absenceHeaderComponent.isInvalid()) {\n sweetAlert('Dane są niekompletne, nie można zapisać');\n return;\n }\n this.spinnerService.show();\n this.rest.saveAbsence(this.absence, withInit).subscribe((result: number) => {\n if (result) {\n this.rest.changeAbsenceState(result, state, this.currentUser.employeeId).subscribe(result => {\n if (result) {\n this.close();\n }\n this.spinnerService.hide();\n });\n }\n });\n }\n\n getAbsenceCurrentUser() {\n this.spinnerService.show();\n this.rest.getAbsenceCurrentUser(this.absence.employeeId).subscribe((result: AbsenceCurrentUser) => {\n if (result) {\n this.currentUser = result;\n this.absenceHeaderComponent.setModel(this.absence, this.isNew, this.permissions, this.currentUser);\n this.addButtons();\n }\n this.spinnerService.hide();\n });\n }\n\n private addButtons() {\n if (this.permissions.canEdit) {\n var canDelete = this.permissions.canDelete && this.absence.absenceStateInternalName == 'Buffered';\n var canConfirm = this.permissions.canEdit && (this.absence.employeeId == this.currentUser.employeeId || this.absence.reporterId == this.currentUser.employeeId) && (this.absence.absenceStateInternalName == \"Buffered\" || this.absence.absenceStateInternalName === null);\n var canCancel = this.permissions.canEdit && (this.absence.employeeId === this.currentUser.employeeId || this.absence.reporterId === this.currentUser.employeeId || this.currentUser.isSupervisor) && [\"ToBeConfirmed\", \"Accepted\"].includes(this.absence.absenceStateInternalName);\n var canApprove = this.permissions.canEdit && this.currentUser.isSupervisor && this.absence.absenceStateInternalName == 'ToBeConfirmed';\n var canReject = this.permissions.canEdit && this.currentUser.isSupervisor && this.absence.absenceStateInternalName == 'ToBeConfirmed';\n\n this.menuButtons.push(\n { text: 'Do potwierdzenia', class: \"btn-primary\", icon: '', onClick: () => { this.changeState(AbsenceAction.Confirm, false); }, enabled: canConfirm, isForSelected: false }\n )\n this.menuButtons.push(\n { text: 'Potwierdź', class: \"btn-primary\", icon: '', onClick: () => { this.changeState(AbsenceAction.Approve); }, enabled: canApprove, isForSelected: false }\n )\n this.menuButtons.push(\n { text: 'Odrzuć', class: \"btn-warning\", icon: '', onClick: () => { this.changeState(AbsenceAction.Reject); }, enabled: canReject, isForSelected: false }\n )\n this.menuButtons.push(\n { text: 'Anuluj', class: \"btn-warning\", icon: '', onClick: () => { this.changeState(AbsenceAction.Cancel); }, enabled: canCancel, isForSelected: false }\n )\n this.menuButtons.push(\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n )\n }\n }\n\n private saveAbsence() {\n if (this.isSaving) {\n return;\n }\n const action = this.rest.saveAbsence;\n action.call(this.rest, this.absence, this.isNew).subscribe((result: number) => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(result);\n }\n this.isSaving = false;\n this.close();\n }, (error) => {\n this.isSaving = false;\n });\n }\n\n private addNotificationEmployee() {\n const action = this.rest.getEmployeesToSelect;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n let employeeIds = this.absence.notificationEmployees.map(x => x.notificationEmployeeId);\n if (this.absence.employeeId != 0)\n employeeIds.push(this.absence.employeeId)\n this.employeeSelectionModal.selectEmployee(result, employeeIds);\n }\n });\n }\n\n private removeNotificationEmployee(row: AbsenceNotificationEmployee) {\n let message = `Czy na pewno usunąć przypisanie pracownika powiadamianego ${row.name}?`;\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n }).then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id > 0) {\n this.rest.removeNotificationEmployee(row.id).subscribe((result: boolean) => {\n if (result) {\n this.absence.notificationEmployees.splice(this.absence.notificationEmployees.indexOf(row), 1);\n this.notificationEmployeesGrid.refreshData();\n }\n });\n }\n else {\n this.absence.notificationEmployees.splice(this.absence.notificationEmployees.indexOf(row), 1);\n this.notificationEmployeesGrid.refreshData();\n }\n break;\n }\n });\n }\n\n private onEmployeeSelectionSuccess(event: { isSuccess: boolean, selectedEmployeeId: any }) {\n if (event.isSuccess) {\n this.rest.addNotificationEmployee(event.selectedEmployeeId, this.absence.id).subscribe((result: AbsenceNotificationEmployee) => {\n if (result) {\n this.absence.notificationEmployees.push(result);\n this.notificationEmployeesGrid.refreshData();\n }\n });\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AbsenceHeaderComponent } from './absence-header/absence-header.component';\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { AbsenceDetailsComponent } from \"./absence-details.component\";\nimport { AbsencesRest } from \"../absences.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { AbsenceDetailsRouting } from \"./absence-details.routing\";\nimport { DictionaryRest } from \"../../dictionaries/dictionary/dictionary.rest\";\nimport { AbsenceHistoryComponent } from './absence-history/absence-history.component';\nimport { EmployeesRest } from '../../company/employees/employee.rest';\n\n@NgModule({\n imports: [\n CommonModule,\n AbsenceDetailsRouting,\n SharedModule\n ],\n declarations: [AbsenceDetailsComponent, AbsenceHeaderComponent, AbsenceHistoryComponent],\n entryComponents: [],\n providers: [AbsencesRest, LoginRest, DictionaryRest, EmployeesRest],\n exports: []\n})\nexport class AbsenceDetailsModule { } ","import { RouterModule, Routes } from \"@angular/router\";\nimport { AbsenceDetailsComponent } from \"./absence-details.component\";\n\nconst routes: Routes = [\n { path: ':Id', component: AbsenceDetailsComponent },\n { path: 'new', component: AbsenceDetailsComponent },\n { path: 'copy/:Id', component: AbsenceDetailsComponent }\n];\n\nexport const AbsenceDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n Uzupełnij wartość. \\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 {{absenceType}}\\n \\n \\n \\n Uzupełnij wartość.\\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
\"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Absence, AbsenceCurrentUser } from '../../absences.model';\nimport { NgForm } from '@angular/forms';\nimport { LoginRest } from '../../../login/login.rest';\nimport { DictionaryRest } from '../../../dictionaries/dictionary/dictionary.rest';\nimport { AbsencesRest } from '../../absences.rest';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { Permissions } from '../../../core/services/permissions/permissions.model';\nimport { NgxSelectOption, INgxSelectOption } from 'ngx-select-ex';\nimport { WorklogsRest } from '../../../worklogs/worklogs.rest';\n\n@Component({\n selector: 'app-absence-header',\n templateUrl: './absence-header.component.html',\n styleUrls: ['./absence-header.component.scss']\n})\nexport class AbsenceHeaderComponent implements OnInit {\n\n constructor(\n private rest: AbsencesRest,\n private dictionaryRest: DictionaryRest,\n private loginRest: LoginRest,\n private worklogsRest: WorklogsRest) { }\n\n public employeeRows: ObjectToSelect[];\n public absenceTypes: { id: number, value: string }[];\n public startDate: DateInputModel;\n public endDate: DateInputModel;\n\n public isNew: boolean;\n public absence: Absence;\n\n private afterViewInit = false;\n public isValid: boolean = true;\n public isEditable: Boolean = false;\n permissions: Permissions;\n currentUser: AbsenceCurrentUser;\n\n @ViewChild('absenceForm') absenceForm: NgForm;\n ngOnInit() {\n this.getAbsenceTypes();\n }\n\n public setModel(absence: Absence, isNew: boolean, permission: Permissions, currentUser: AbsenceCurrentUser) {\n this.permissions = permission;\n this.absence = absence;\n this.isNew = isNew;\n this.currentUser = currentUser;\n this.isEditable = (this.permissions.canEdit || this.permissions.canShow) && (currentUser.isSupervisor || absence.employeeId == currentUser.employeeId) && (absence.absenceStateInternalName == \"Buffered\" || isNew);\n this.initializeDate();\n this.getEmployees();\n\n if (isNew) {\n if (!this.absence.absenceTypeId) {\n this.absence.absenceTypeId = this.absenceTypes[0].id;\n }\n if (!this.absence.employeeId) {\n this.absence.employeeId = this.employeeRows[0].id;\n }\n }\n this.afterViewInit = true;\n }\n\n private initializeDate() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = !this.isEditable;\n this.startDate.isRequired = false;\n this.startDate.name = 'Nieobecnośc od';\n this.startDate.value = new Date(this.absence.startDate);\n this.startDate.value.setHours(0, 0, 0, 0);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.withTime = true;\n this.startDate.internalName = 'StartDate';\n\n this.endDate = new DateInputModel();\n this.endDate.isReadOnly = !this.isEditable;\n this.endDate.isRequired = false;\n this.endDate.name = 'Nieobecnośc do';\n this.endDate.value = new Date(this.absence.endDate);\n this.endDate.value.setHours(23, 59, 59, 0);\n this.endDate.valueStr = this.endDate.value.toDateString();\n this.endDate.withTime = true;\n this.endDate.internalName = 'EndDate';\n }\n\n private getAbsenceTypes() {\n this.dictionaryRest.getDictionaries(11).subscribe((dictionaries: any) => {\n this.absenceTypes = dictionaries;\n });\n }\n\n private getEmployees() {\n var action;\n if (this.permissions.hasAllWorklogsPermission) {\n action = this.worklogsRest.getUsersRows;\n }\n else {\n if (this.isEditable) {\n action = this.worklogsRest.getSubordinates;\n } else {\n action = this.worklogsRest.getUsersRows;\n }\n }\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employeeRows = result.sort((x, y) => x.name > y.name ? 1 : -1);\n }\n });\n }\n\n private onElementValidation(element: DateInputModel, isValid: boolean) {\n if (!element) {\n return;\n }\n\n if (element.internalName == 'StartDate') {\n this.absence.startDate = element.value;\n this.startDate.valueStr = this.startDate.value.toDateString();\n\n if (this.startDate.value > this.endDate.value) {\n this.endDate.value = new Date(element.value);\n this.absence.endDate = this.endDate.value;\n this.endDate.valueStr = this.endDate.value.toDateString();\n }\n }\n\n if (element.internalName == 'EndDate') {\n this.absence.endDate = element.value;\n this.endDate.valueStr = this.endDate.value.toDateString();\n if (element.value < this.startDate.value) {\n this.startDate.value = new Date(element.value);\n this.startDate.value.setHours(0, 0, 0, 0);\n this.absence.startDate = this.startDate.value;\n }\n }\n }\n\n private checkSaveCondition() {\n if (this.absence.employeeId && this.absence.employeeId == 0) {\n return false;\n }\n if (this.absence.startDate > this.absence.endDate) {\n return false;\n }\n return true;\n }\n\n public isInvalid() {\n if (this.checkSaveCondition()) {\n return this.absenceForm.invalid;\n }\n return true;\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n private searchCallback2(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.value.toLowerCase().includes(search);\n }\n\n\n}\n","module.exports = \"
\\n
\\n
\\n \\n \\n
\\n
\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Absence, AbsenceHistory } from '../../absences.model';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\n\n@Component({\n selector: 'app-absence-history',\n templateUrl: './absence-history.component.html',\n styleUrls: []\n})\nexport class AbsenceHistoryComponent implements OnInit {\n\n constructor() { }\n public history: AbsenceHistory[];\n\n @ViewChild(GridComponent) grid: GridComponent;\n\n ngOnInit() {\n }\n\n private headers = [\n { displayName: 'Użytkownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Status', propertyName: 'stateName', propertyType: 'string' },\n { displayName: 'Data', propertyName: 'createdDate', propertyType: 'date', dateFormat: 'dd.MM.yyyy HH:mm', isInitSort: true, isInitSortAsc: false }\n ];\n\n\n public setModel(absence: Absence) {\n this.history = absence.history;\n }\n\n}\n","module.exports = \"\\n\\n\"","import { Component, OnInit, ViewChild, Input, AfterViewInit, Output, EventEmitter } from '@angular/core';\nimport { CalendarItem, DateRange, CalendarBundle } from '../../core/shared/calendar/calendar.model';\nimport { CalendarComponent } from '../../core/shared/calendar/calendar.component';\nimport { GridMainFilter } from '../../core/shared/grid/grid.model';\nimport { AbsencesRest } from '../absences.rest';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { AbsenceRow } from '../absences.model';\nimport { HolidayCalendar } from '../../configuration/holiday-calendar/holiday-calendar.model';\n\n@Component({\n selector: 'app-absences-calendar',\n templateUrl: './absences-calendar.component.html'\n})\nexport class AbsencesCalendarComponent implements OnInit {\n @Input() mainFilter: GridMainFilter[];\n @Input() showOnlyMonthView: boolean = false;\n\n @Output() onItemClick = new EventEmitter();\n @Output() onDayClick = new EventEmitter();\n @Output() onPrevClick = new EventEmitter();\n @Output() onNextClick = new EventEmitter();\n @Output() onTodayClick = new EventEmitter();\n @Output() onDateNavClick = new EventEmitter();\n\n public calendarItems: CalendarItem[] = [];\n\n @ViewChild(CalendarComponent) calendar: CalendarComponent;\n\n constructor(\n private absencesRest: AbsencesRest,\n private spinnerService: SpinnerService\n ) { }\n\n ngOnInit() {\n //this.refreshCalendarData();\n }\n\n public refreshCalendarData() {\n if (this.mainFilter) {\n this.spinnerService.show();\n this.absencesRest.getAbsencesForCalendar(this.mainFilter).subscribe(calendarBundle => {\n this.parseCalendarItems(calendarBundle);\n this.spinnerService.hide();\n });\n }\n }\n\n public onItemClickHandler(item: any) {\n this.onItemClick.emit(item);\n }\n\n public onDayClickHandler(day: any) {\n this.onDayClick.emit(day);\n }\n\n public onPrevClickHandler(dateRange: DateRange) {\n this.onPrevClick.emit(dateRange);\n }\n\n public onNextClickHandler(dateRange: DateRange) {\n this.onNextClick.emit(dateRange);\n }\n\n public onTodayClickHandler(dateRange: DateRange) {\n this.onTodayClick.emit(dateRange);\n }\n\n public onDateNavHandler(dateRange: DateRange) {\n this.onDateNavClick.emit(dateRange);\n }\n\n private parseCalendarItems(calendarBundle: CalendarBundle) {\n let newCalendarItems = calendarBundle.absences.map(item => this.convertAbsenceToCalendarItem(item));\n let holidayCalendarItems = calendarBundle.holidays.map(holiday => this.convertHolidayToCalendarItem(holiday));\n newCalendarItems = newCalendarItems.concat(holidayCalendarItems);\n\n this.calendarItems = newCalendarItems;\n }\n\n private convertAbsenceToCalendarItem(item: AbsenceRow): CalendarItem {\n let color = this.getColorForAbsenceStatus(item.stateInternalName);\n let startDate = new Date(item.startDate);\n if (!item.endDate) {\n item.endDate = item.startDate;\n }\n let endDate = new Date(item.endDate);\n endDate = new Date(endDate.setHours(0, 0, 0, 0));\n endDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate() + 1);\n\n let daysCount = item.absenceDays;\n let dayWord = daysCount == 1 ? 'dzień' : 'dni';\n let title = `${item.employeeFullName} (${item.absenceTypeName} [${daysCount} ${dayWord}])`;\n\n let newItem = {\n title: title,\n start: startDate,\n end: endDate,\n allDay: true,\n color: color\n } as CalendarItem;\n\n return newItem;\n }\n\n private convertHolidayToCalendarItem(item: HolidayCalendar): CalendarItem {\n let newItem = {\n start: item.date,\n allDay: true,\n color: '#d7d7d7',\n rendering: 'background'\n } as CalendarItem;\n\n return newItem;\n }\n\n private getColorForAbsenceStatus(stateInternalName: string) {\n switch (stateInternalName) {\n case 'Buffered': //niezatwierdzone\n return '#70db70';\n\n case 'ToBeConfirmed': //do potwierdzenia\n return 'skyblue';\n\n case 'Accepted': //zaakceptowane\n return '#a9a9a9';\n\n case 'Rejected': //odrzucone\n return '#ff9980';\n\n case 'Cancelled': //anulowane\n return '#ff8080';\n\n default:\n return 'lightgray';\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SharedModule } from \"../../core/shared/shared.module\";\r\nimport { AbsencesRest } from \"../absences.rest\";\r\nimport { AbsencesCalendarComponent } from \"./absences-calendar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SharedModule\r\n ],\r\n declarations: [AbsencesCalendarComponent],\r\n exports: [AbsencesCalendarComponent],\r\n providers: [AbsencesRest]\r\n})\r\nexport class AbsencesCalendarModule { }","module.exports = \"\\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 {{ successMessage }}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"\"","import { Component, OnInit, AfterViewInit, ViewChild, HostListener, ElementRef } from '@angular/core';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { GridMainFilter, GoupedColumn, GroupFunction, SortedColumn, GridSelection, SelectionMode } from '../../core/shared/grid/grid.model';\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { DateInputModel } from '../../core/shared/date-input/date-input.model';\nimport { LoginRest } from '../../login/login.rest';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { AbsencesRest } from '../absences.rest';\nimport { DictionaryRest } from '../../dictionaries/dictionary/dictionary.rest';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { AbsenceAction, AbsenceRow } from '../absences.model';\nimport { AbsencesCalendarComponent } from '../absences-calendar/absences-calendar.component';\n\n@Component({\n selector: 'app-absences-list',\n templateUrl: './absences-list.component.html',\n styleUrls: ['./absences-list.component.scss']\n})\nexport class AbsencesListComponent extends GridSelection implements OnInit, AfterViewInit, HasPermissions, GridParamsRestorable {\n readonly detailsPath: string = '/absences/absence';\n permissions: Permissions;\n public path: string;\n\n public showSuccessMessage: boolean;\n public successMessage: string;\n\n public currentUser: any;\n\n //for filters\n public employeeRows: ObjectToSelect[];\n public statusFilters: ObjectToSelect[] = [{ id: 0, name: '⩽ Do potwierdzenia', guid: '' }, { id: 1, name: '⩽ Zaakceptowany', guid: '' }];\n public absenceTypes: any;\n private selectedStatusFilterId: number;\n private selectedEmployeeId: number;\n private selectedAbsenceTypeId: number;\n private startDate: DateInputModel;\n private endDate: DateInputModel;\n private isRestoredMainFilterDate: boolean = false;\n\n public initialFilters: any;\n public initialPageNumber = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn;\n public previousMainFilters: any = {};\n\n public editedItemId: number;\n private selectedTab = 0; //0-list, 1-calendar\n private isRestoredMainFilter: boolean = false;\n public hideToggles: boolean;\n public expanded: boolean;\n\n public mainFilter: GridMainFilter[];\n public calendarMainFilter: GridMainFilter[];\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(AbsencesCalendarComponent) absencesCalendar: AbsencesCalendarComponent;\n\n private isEditable: boolean;\n private isRemovable: boolean;\n private isAdd: boolean;\n\n private headers = [\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Zgłaszający', propertyName: 'reporterFullName', propertyType: 'string' },\n { displayName: 'Typ nieobecności', propertyName: 'absenceTypeName', propertyType: 'string' },\n { displayName: 'Od', propertyName: 'startDate', propertyType: 'date', isInitSort: true },\n { displayName: 'Do', propertyName: 'endDate', propertyType: 'date' },\n { displayName: 'Dni nieobecności', propertyName: 'absenceDays', propertyType: 'number' },\n { displayName: 'Status', propertyName: 'stateName', propertyType: 'string' },\n { displayName: 'Opis', propertyName: 'description', propertyType: 'string', showTooltip: true }\n ];\n\n private columnsToGroup: GoupedColumn[] = [\n { name: 'absenceDays', func: GroupFunction.sum }\n ];\n\n private gridMenuButtons: MenuButton[] = [\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private loginRest: LoginRest,\n private gridParamsRestoringService: GridParamsRestoringService,\n private spinnerService: SpinnerService,\n private permissionService: PermissionsService,\n private dictionaryRest: DictionaryRest,\n private absencesRest: AbsencesRest) {\n super();\n this._grid = this.grid;\n this.onResize();\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.mainFilter = new Array();\n this.tryRestoreFiltersAndPage();\n this.setPermissions('Absence');\n this.selectionMode = SelectionMode.multi;\n\n this.getCurrentUser();\n this.setupAbsenceTypes();\n this.getEmployeesToSelect();\n this.setUpDates();\n this.selectedDates();\n this.path = `api/absences/grid`;\n this.calendarMainFilter = this.mainFilter;\n }\n\n ngAfterViewInit() {\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.route.data.subscribe(x => {\n this.permissions = this.permissionService.getUserPermissions(x.claimType);\n this.isAdd = this.permissions.canAdd;\n this.isEditable = (this.permissions.canEdit || this.permissions.canShow);\n this.isRemovable = this.permissions.canDelete;\n if (this.isEditable) {\n this.gridMenuButtons.push(\n { text: 'Do potwierdzenia', class: \"btn-primary\", icon: '', onClick: () => { this.changeState(AbsenceAction.Confirm); }, enabled: this.permissions.canEdit, isForSelected: true },\n { text: 'Potwierdź', class: \"btn-primary\", icon: '', onClick: () => { this.changeState(AbsenceAction.Approve); }, enabled: this.permissions.canEdit, isForSelected: true },\n { text: 'Odrzuć', class: \"btn-warning\", icon: '', onClick: () => { this.changeState(AbsenceAction.Reject); }, enabled: this.permissions.canEdit, isForSelected: true },\n { text: 'Anuluj', class: \"btn-warning\", icon: '', onClick: () => { this.changeState(AbsenceAction.Cancel); }, enabled: this.permissions.canEdit, isForSelected: true }\n\n );\n }\n this.gridMenuButtons.push(\n { text: 'Usuń', class: \"btn-primary\", icon: '', onClick: () => { this.deleteSelectedItems(); }, enabled: this.isRemovable, isForSelected: true }\n );\n\n });\n }\n\n private onRowEdit(row: any) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['../absences/absence', 'Nieobecność'], { queryParams: { id: row.id }, relativeTo: this.route });\n }\n\n private onRowAdd(value: any) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['../absences/absence/new'], { relativeTo: this.route });\n }\n\n private deleteSelectedItems() {\n var selectedItems: AbsenceRow[] = this.grid.getSelectedItems();\n if (selectedItems.length == 0) {\n return;\n }\n const selectedIds = selectedItems.map(({ id }) => id);\n sweetAlert('Czy chcesz usunąć wpis nieobecności?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n }).then((value) => {\n switch (value) {\n case 'yes':\n this.absencesRest.deleteSelectedAbsences(selectedIds, this.currentUser.employeeId).subscribe((result: string) => {\n if (result) {\n sweetAlert({ text: result });\n }\n this.grid.refreshData(false);\n });\n break;\n }\n });\n }\n\n private onRowDelete(row) {\n if (row.stateInternalName != \"Buffered\") {\n sweetAlert({ text: `Nie można usunąć nieobecności w statusice innym niż niezatwierdzony` });\n }\n else {\n sweetAlert('Czy chcesz usunąć wpis nieobecności?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n }).then((value) => {\n switch (value) {\n case 'yes':\n const action = this.absencesRest.deleteAbsence;\n action.call(this.absencesRest, row.id, this.currentUser.employeeId).subscribe((result: boolean) => {\n if (result) {\n sweetAlert({ text: `Usunięto wpis nieobecności` });\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n }\n\n private tabChanged(tabEvent) {\n switch (tabEvent.index) {\n case 0: //list\n break;\n\n case 1: //calendar\n this.filter();\n break;\n\n default:\n break;\n }\n }\n\n private getCurrentUser() {\n if (!this.isRestoredMainFilter) {\n this.spinnerService.show();\n }\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = user;\n this.spinnerService.hide();\n });\n }\n\n public getEmployeesToSelect() {\n const action = this.absencesRest.getEmployeesToSelect;\n action.call(this.absencesRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employeeRows = result.sort((x, y) => x.name > y.name ? 1 : -1);\n }\n });\n }\n\n private setupAbsenceTypes() {\n this.dictionaryRest.getDictionaries(11).subscribe((dictionaries: any) => {\n this.absenceTypes = dictionaries;\n });\n }\n\n private setUpDates() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = false;\n this.startDate.isRequired = false;\n this.startDate.withTime = true;\n this.startDate.name = 'Od:';\n\n if (this.isRestoredMainFilterDate && this.previousMainFilters['StartDate'] && this.isEditable) {\n this.startDate.value = new Date(this.previousMainFilters['StartDate']);\n } else {\n this.startDate.value = new Date();\n }\n\n this.startDate.value.setHours(0, 0, 0, 0);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.internalName = 'StartDate';\n\n this.endDate = new DateInputModel();\n this.endDate.isReadOnly = false;\n this.endDate.isRequired = false;\n this.endDate.name = 'Do:';\n\n if (this.isRestoredMainFilterDate && this.previousMainFilters['EndDate'] && this.isEditable) {\n this.endDate.value = new Date(this.previousMainFilters['EndDate']);\n } else {\n var actualDate = new Date();\n actualDate.setDate(actualDate.getDate() + 30);\n this.endDate.value = actualDate;\n }\n\n this.endDate.value.setHours(23, 59, 59, 0);\n this.endDate.valueStr = this.endDate.value.toDateString();\n this.endDate.internalName = 'EndDate';\n }\n\n private tryRestoreFiltersAndPage() {\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\n if (!previousGridParams) {\n return;\n }\n\n this.initialFilters = previousGridParams.initialFilters;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n this.previousMainFilters = previousGridParams.previousMainFilters;\n\n if (this.previousMainFilters['StartDate']) {\n this.mainFilter.push({ internalName: 'StartDate', value: this.previousMainFilters['StartDate'] });\n }\n if (this.previousMainFilters['EndDate']) {\n this.mainFilter.push({ internalName: 'EndDate', value: this.previousMainFilters['EndDate'] });\n }\n\n this.isRestoredMainFilterDate = true;\n }\n\n private setFiltersFromRestoredData() {\n const selectedStatusFilterValue = this.findFilter('StatusFilter');\n this.selectedStatusFilterId = selectedStatusFilterValue != null ? parseInt(selectedStatusFilterValue) : null;\n //this.setFilterOnGrid('ReporterId', this.selectedReporterId != null ? this.selectedReporterId.toString() : null);\n\n const selectedEmployee = this.findFilter('EmployeeId');\n this.selectedEmployeeId = selectedEmployee != null ? parseInt(selectedEmployee) : null;\n //this.setFilterOnGrid('EmployeeId', this.selectedReporterId != null ? this.selectedEmployeeId.toString() : null);\n\n const selectedAbsenceType = this.findFilter('AbsenceTypeId');\n this.selectedAbsenceTypeId = selectedAbsenceType != null ? parseInt(selectedAbsenceType) : null;\n //this.setFilterOnGrid('AbsenceTypeId', this.selectedReporterId != null ? this.selectedAbsenceTypeId.toString() : null);\n\n if (!this.isRestoredMainFilterDate) {\n const startDate = this.findFilter('StartDate');\n if (startDate != null) {\n this.startDate.value = new Date(startDate);\n } else {\n this.startDate.value = new Date();\n }\n\n this.startDate.value.setHours(0, 0, 0, 0);\n const endDate = this.findFilter('EndDate');\n if (endDate != null) {\n this.endDate.value = new Date(endDate);\n } else {\n var actualDate = new Date();\n actualDate.setDate(actualDate.getDate() + 30);\n this.endDate.value = actualDate;\n }\n this.endDate.value.setHours(23, 59, 59, 0);\n }\n }\n\n public setGridMainFilterDates() {\n if (this.isRestoredMainFilterDate) {\n this.grid.mainFilter = this.mainFilter;\n }\n }\n\n private onDateValidation(date: DateInputModel, isValid: boolean) {\n if (!date) {\n return;\n }\n if (date.internalName === 'StartDate' && this.startDate.value > this.endDate.value) {\n this.endDate.value = new Date(date.value);\n this.endDate.value.setHours(23, 59, 59, 0);\n }\n if (date.internalName === 'EndDate' && date.value < this.startDate.value) {\n if (date.value != null) {\n this.startDate.value = new Date(date.value);\n this.startDate.value.setHours(0, 0, 0, 0);\n }\n }\n }\n\n private selectedDates() {\n let startingdate = null;\n if (this.startDate.value != null) {\n startingdate = this.startDate.value.toJSON();\n }\n this.setFilterOnGrid('StartDate', startingdate);\n\n let endingDate = null;\n if (this.endDate.value != null) {\n endingDate = this.endDate.value.toJSON();\n }\n this.setFilterOnGrid('EndDate', endingDate);\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n\n private setFilterOnGrid(internalName: string, filterValue: string) {\n if (this.mainFilter != null) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n\n if (filterValue !== undefined) {\n this.mainFilter.push({ internalName: internalName, value: filterValue });\n }\n //this.grid.mainFilter = this.mainFilter;\n }\n }\n\n public filter() {\n this.mainFilter = new Array();\n this.selectedDates();\n if (this.selectedEmployeeId) {\n this.setFilterOnGrid('EmployeeId', this.selectedEmployeeId.toString());\n }\n\n if (this.selectedAbsenceTypeId) {\n this.setFilterOnGrid('AbsenceTypeId', this.selectedAbsenceTypeId.toString());\n }\n\n if (this.selectedStatusFilterId != null) {\n this.setFilterOnGrid('StatusFilter', this.selectedStatusFilterId.toString());\n }\n\n this.refreshData();\n }\n\n private refreshData() {\n switch (this.selectedTab) {\n case 0:\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n break;\n\n case 1:\n this.absencesCalendar.mainFilter = this.mainFilter;\n this.absencesCalendar.refreshCalendarData();\n break;\n\n default:\n break;\n }\n }\n\n private setDefaultfilters() {\n this.selectedStatusFilterId = null;\n this.startDate.value = new Date();\n this.startDate.value.setHours(0, 0, 0, 0);\n var actualDate = new Date();\n actualDate.setDate(actualDate.getDate() + 30);\n this.endDate.value = actualDate;\n this.endDate.value.setHours(23, 59, 59, 0);\n }\n\n public clearFilter() {\n this.setDefaultfilters();\n this.selectedStatusFilterId = null;\n this.selectedEmployeeId = null;\n this.selectedAbsenceTypeId = null;\n this.filter();\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n private searchCallback2(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.value.toLowerCase().includes(search);\n }\n\n private changeState(action: AbsenceAction) {\n let selectedIds = this.getSelectedItemsForAction(action)\n if (selectedIds.length == 0) {\n sweetAlert({ text: `Brak zaznaczonych elementów w odpowiednim statusie dla danej akcji` });\n return;\n }\n this.spinnerService.show();\n this.absencesRest.changeAbsenceStateForMany(selectedIds, action, this.currentUser.employeeId).subscribe((result: string) => {\n if (result) {\n if (result.includes('Błąd')) {\n sweetAlert({ text: result });\n }\n this.grid.refreshData();\n }\n this.spinnerService.hide();\n });\n }\n\n getSelectedItemsForAction(action: AbsenceAction): number[] {\n let absenceRows: AbsenceRow[] = this.grid.getSelectedItems();\n var state = [];\n switch (action) {\n case AbsenceAction.Approve:\n case AbsenceAction.Reject:\n state = [\"ToBeConfirmed\"];\n break;\n case AbsenceAction.Cancel:\n state = [\"ToBeConfirmed\", \"Accepted\"];\n break;\n case AbsenceAction.Confirm:\n state = [\"Buffered\"];\n break;\n case AbsenceAction.Init:\n default:\n break;\n }\n var selectedIds = absenceRows.filter(x => state.includes(x.stateInternalName)).map(({ id }) => id);\n return selectedIds;\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 768) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { DictionaryRest } from \"../../dictionaries/dictionary/dictionary.rest\";\nimport { AbsencesListComponent } from \"./absences-list.component\";\nimport { AbsencesListRouting } from \"./absences-list.routing\";\nimport { AbsencesRest } from \"../absences.rest\";\nimport { AbsencesCalendarModule } from \"../absences-calendar/absences-calendar.module\";\nimport { WorklogsRest } from \"../../worklogs/worklogs.rest\";\n\n@NgModule({\n imports: [\n CommonModule,\n AbsencesListRouting,\n SharedModule,\n AbsencesCalendarModule\n ],\n declarations: [AbsencesListComponent],\n exports: [],\n providers: [AbsencesRest, LoginRest, DictionaryRest, WorklogsRest]\n})\nexport class AbsencesListModule { }","import { Routes, RouterModule } from \"@angular/router\";\nimport { AbsencesListComponent } from \"./absences-list.component\";\nimport { AbsenceDetailsModule } from \"../absence-details/absence-details.module\";\n\nconst routes: Routes = [\n { path: '', component: AbsencesListComponent },\n { path: 'absence', loadChildren: () => AbsenceDetailsModule },\n];\n\nexport const AbsencesListRouting = RouterModule.forChild(routes);","import { RowAppearance } from \"../core/shared/grid/grid.model\";\n\nexport class AbsenceRow implements RowAppearance {\n id: number;\n employeeFullName: string;\n startDate: Date;\n endDate: Date;\n absenceTypeName: string;\n stateInternalName: string;\n employeeId: number;\n reporterId: number;\n absenceDays: number;\n stateName: string;\n description: string;\n rowCustomClass: string;\n}\n\nexport class Absence {\n isNew: boolean;\n id: number;\n departmentId: number;\n departmentName: string;\n reporterId: number;\n reporterFullName: string;\n employeeId: number;\n employeeFullName: string;\n description: string;\n absenceTypeId: number;\n absenceTypeName: string;\n startDate: Date;\n endDate: Date;\n createdBy: string;\n createdDate: Date;\n absenceStateName: string;\n absenceStateInternalName: string;\n history: AbsenceHistory[];\n notificationEmployees: AbsenceNotificationEmployee[];\n}\n\nexport class AbsenceHistory {\n id: number;\n employeeId: number;\n employeeFullName: string;\n stateId: number;\n stateName: string;\n stateInternalName: string;\n description: string;\n createdBy: string;\n createdDate: Date;\n}\n\nexport class AbsenceCurrentUser {\n employeeId: number;\n isSupervisor: Boolean;\n}\n\nexport enum AbsenceAction {\n Init,\n Confirm,\n Approve,\n Reject,\n Cancel,\n Delete\n}\n\nexport class NotificationForEmployee {\n id: number;\n notificationEmployeeId: number;\n name: string;\n surname: string;\n email: string;\n}\n\nexport class AbsenceNotificationEmployee extends NotificationForEmployee {\n absenceId: number;\n constructor(absneceId: number) {\n super();\n this.absenceId = absneceId\n }\n}","import { Injectable } from \"@angular/core\";\n\nimport { RestService } from \"../core/core/rest.service\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { Absence, AbsenceHistory, AbsenceAction, AbsenceCurrentUser, AbsenceRow, AbsenceNotificationEmployee } from \"./absences.model\";\nimport { GridMainFilter } from \"../core/shared/grid/grid.model\";\nimport { Observable } from \"rxjs\";\nimport { CalendarBundle } from \"../core/shared/calendar/calendar.model\";\n\n@Injectable()\nexport class AbsencesRest {\n\n constructor(private http: RestService) {\n }\n\n public getEmployeesToSelect() {\n return this.http.get('api/absences/employees');\n }\n\n public getUserEmployeesToSelect() {\n return this.http.get('api/absences/absence/employees');\n }\n\n public deleteAbsence(absenceId: number, currentEmployeeId: number) {\n return this.http.post(`api/absences/delete/${currentEmployeeId}`, absenceId);\n }\n\n public deleteSelectedAbsences(selectedAbsenceIds: number[], currentEmployeeId: number) {\n return this.http.post(`api/absences/deleteSelected/${currentEmployeeId}`, selectedAbsenceIds);\n }\n\n public saveAbsence(absence: Absence, withInit: boolean) {\n return this.http.post(`api/absences/absence/save/${withInit}`, absence);\n }\n\n public getAbsenceHistory(id: number) {\n return this.http.get(`api/absences/absence/history/${id}`);\n }\n\n public getAbsence(id: number) {\n return this.http.get(`api/absences/absence/${id}`);\n }\n\n public getAbsencesForCalendar(mainFilter: GridMainFilter[]) {\n return this.http.post(`api/absences/calendar`, mainFilter);\n }\n\n public getEmptyAbsence() {\n return this.http.get(`api/absences/absence/add`);\n }\n\n public changeAbsenceStateForMany(absenceIds: number[], action: AbsenceAction, currentEmployeeId: number) {\n return this.http.post(`api/absences/absence/changestate/${action}/${currentEmployeeId}`, absenceIds);\n }\n\n public changeAbsenceState(absenceId: number, action: AbsenceAction, currentEmployeeId: number) {\n return this.http.get(`api/absences/absence/changestate/${absenceId}/${action}/${currentEmployeeId}`);\n }\n\n public getAbsenceCurrentUser(employeeId: number) {\n return this.http.get(`api/absences/absence/getcurrentuser/${employeeId}`);\n }\n\n public removeNotificationEmployee(notificationEmployeeId: number) {\n return this.http.post(`api/absences/removeNotificationEmployee/${notificationEmployeeId}`, {});\n }\n\n public addNotificationEmployee(notificationEmployeeId: number, absenceId: number) {\n return this.http.post(`api/absences/addNotificationEmployee/${absenceId}/${notificationEmployeeId}`, {});\n }\n}","module.exports = \"\\n\"","module.exports = \"\"","import { Component, HostBinding, OnInit } from '@angular/core';\ndeclare var $: any;\n\nimport { SettingsService } from './core/settings/settings.service';\nimport { RoutingHistoryService } from './core/services/routing-history/routing-history.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n\n @HostBinding('class.layout-fixed') get isFixed() { return this.settings.getLayoutSetting('isFixed'); };\n @HostBinding('class.aside-collapsed') get isCollapsed() { return this.settings.getLayoutSetting('isCollapsed'); };\n @HostBinding('class.layout-boxed') get isBoxed() { return this.settings.getLayoutSetting('isBoxed'); };\n @HostBinding('class.layout-fs') get useFullLayout() { return this.settings.getLayoutSetting('useFullLayout'); };\n @HostBinding('class.hidden-footer') get hiddenFooter() { return this.settings.getLayoutSetting('hiddenFooter'); };\n @HostBinding('class.layout-h') get horizontal() { return this.settings.getLayoutSetting('horizontal'); };\n @HostBinding('class.aside-float') get isFloat() { return this.settings.getLayoutSetting('isFloat'); };\n @HostBinding('class.offsidebar-open') get offsidebarOpen() { return this.settings.getLayoutSetting('offsidebarOpen'); };\n @HostBinding('class.aside-toggled') get asideToggled() { return this.settings.getLayoutSetting('asideToggled'); };\n @HostBinding('class.aside-collapsed-text') get isCollapsedText() { return this.settings.getLayoutSetting('isCollapsedText'); };\n\n constructor(\n public settings: SettingsService,\n private routingHistory: RoutingHistoryService\n ) {\n routingHistory.loadRouting();\n }\n\n ngOnInit() {\n $(document).on('click', '[href=\"#\"]', e => e.preventDefault());\n }\n}\n","import { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\"; // this is needed!\nimport { NgModule } from \"@angular/core\";\nimport { HttpClientModule, HttpClient } from \"@angular/common/http\";\nimport {\n TranslateService,\n TranslateModule,\n TranslateLoader\n} from \"@ngx-translate/core\";\nimport { TranslateHttpLoader } from \"@ngx-translate/http-loader\";\nimport { AppComponent } from \"./app.component\";\nimport { CoreModule } from \"./core/core.module\";\nimport { ShellModule } from \"./shell/shell.module\";\nimport { appRouting } from \"./app.routing\";\nimport { PageNotFoundModule } from \"./shell/page-not-found/page-not-found.module\";\nimport { HttpModule } from \"@angular/http\";\nimport { NotificationService } from \"./core/services/notification/notification.service\";\nimport { LoginModule } from \"./login/login.module\";\nimport { SharedTemplateModule } from \"./shared-template/shared-template.module\";\nimport { BsDatepickerModule } from \"ngx-bootstrap\";\nimport { IssueService } from \"./issues/issue.service\";\nimport { ProjectService } from \"./projects/projects.service\";\n// https://github.com/ocombe/ng2-translate/issues/218\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(http, \"./assets/i18n/\", \".json\");\n}\n\n@NgModule({\n declarations: [AppComponent],\n imports: [\n HttpClientModule,\n BrowserAnimationsModule, // required for ng2-tag-input\n CoreModule,\n LoginModule,\n SharedTemplateModule.forRoot(),\n BsDatepickerModule.forRoot(),\n ShellModule,\n HttpModule,\n appRouting,\n PageNotFoundModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader,\n deps: [HttpClient]\n }\n })\n ],\n providers: [NotificationService, IssueService, ProjectService],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { RouterModule, Routes } from '@angular/router';\nimport { ShellModule } from './shell/shell.module';\nimport { PageNotFoundComponent } from './shell/page-not-found/page-not-found.component';\nimport { LoginModule } from './login/login.module';\n\nconst routes: Routes = [\n { path: '', loadChildren: () => ShellModule },\n { path: 'login', loadChildren: () => LoginModule },\n { path: '**', component: PageNotFoundComponent }\n ];\n\nexport const appRouting = RouterModule.forRoot(routes);\n","module.exports = \"
\\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\"","module.exports = \".customer-panel-title {\\n position: absolute; }\\n\\n.breadcrumb {\\n background: transparent !important; }\\n\\n.page-header {\\n padding-bottom: 7px;\\n padding-top: 0; }\\n\"","import { Component, OnInit, ViewChild, AfterViewInit, HostListener } from '@angular/core';\nimport { Router, ActivatedRoute } from '../../../../../node_modules/@angular/router';\nimport { CustomersRest } from './../customers.rest';\nimport { LoginRest } from '../../../login/login.rest';\nimport { CustomerDetailsHeaderComponent } from './header/customer-details-header.component';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { CustomerSystemVersionsComponent } from '../customer-details/system-versions/customer-system-versions/customer-system-versions.component';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { Customer, License } from '../customers.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { CustomerEmployeesComponent } from './customer-employees/customer-employees.component';\nimport { CustomerLicensesComponent } from './customer-licenses/customer-licenses.component';\n\n\n@Component({\n selector: 'app-customer-details',\n templateUrl: './customer-details.component.html',\n styleUrls: ['./customer-details.component.scss']\n})\nexport class CustomerDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: CustomersRest,\n private permissionsService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService) { }\n\n private canShowSystemVersions: boolean;\n private canShowCustomerEmployees: boolean;\n private customer: Customer;\n private isNew: boolean;\n private customerId: number;\n private isSaving = false;\n private nipOld : string;\n\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveCustomer(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false },\n { text: 'Zablokuj kontrahenta', class: \"btn-danger\", icon: '', onClick: () => { this.block(); }, enabled: false, isForSelected: false },\n { text: 'Odblokuj kontrahenta', class: \"btn-warning\", icon: '', onClick: () => { this.unblock(); }, enabled: false, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveCustomer(); }, enabled: false, isForSelected: false };\n\n @ViewChild(CustomerDetailsHeaderComponent) customerDetailsHeaderComponent: CustomerDetailsHeaderComponent;\n @ViewChild(CustomerEmployeesComponent) customerEmployeesComponent: CustomerEmployeesComponent;\n @ViewChild(CustomerSystemVersionsComponent) customerSystemVersionsComponent: CustomerSystemVersionsComponent;\n @ViewChild(CustomerLicensesComponent) customerLicensesComponent: CustomerLicensesComponent;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if ((this.customerEmployeesComponent != null\n && ((this.customerEmployeesComponent.employeeModal && this.customerEmployeesComponent.employeeModal.modal.modalRoot.isShown === true)\n || (this.customerEmployeesComponent.employeeSelectionModal && this.customerEmployeesComponent.employeeSelectionModal.modal.modalRoot.isShown === true)))\n || (this.customerSystemVersionsComponent != null\n && this.customerSystemVersionsComponent.systemVersionsSelectionModal.modal.modalRoot.isShown === true)\n || (this.customerDetailsHeaderComponent != null\n && this.customerDetailsHeaderComponent.isDialogActive)\n || (this.customerLicensesComponent != null\n && this.customerLicensesComponent.licenseModal.modal.modalRoot.isShown === true)) {\n return;\n }\n if(this.permissions.canEdit) {\n this.saveCustomer();\n }\n event.preventDefault();\n }\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('Customer');\n let customerId = null;\n this.canShowSystemVersions = this.permissionsService.getUserPermissions('CustomerSystemVersion').canShow;\n this.canShowCustomerEmployees = this.permissionsService.getUserPermissions('CustomerEmployee').canShow;\n if (this.permissions.canAdd || this.permissions.canEdit) {\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = true;\n this.saveButton.enabled = true;\n }\n\n this.route.queryParams.subscribe(params => {\n if (params.id != null) {\n customerId = parseInt(params.id);\n }\n\n if (customerId != null) {\n this.spinnerService.show();\n this.rest.getCustomerDetails(customerId).subscribe(customer => {\n this.isNew = false;\n this.customer = customer;\n this.customerId = customerId;\n this.nipOld = customer.nip;\n this.customerDetailsHeaderComponent.setModel(this.customer, this.isNew, this.permissions.canEdit);\n this.setMenuButtonsPermissions();\n this.spinnerService.hide();\n });\n } else {\n this.isNew = true;\n this.rest.createCustomer().subscribe(customer => {\n this.customer = customer;\n this.customerDetailsHeaderComponent.setModel(this.customer, this.isNew, this.permissions.canAdd);\n });\n }\n\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n private setMenuButtonsPermissions() {\n this.menuButtons.find(b => b.text === 'COMMONBUTTONS_save').enabled = this.permissions.canEdit;\n this.saveButton.enabled = this.permissions.canEdit;\n this.menuButtons.find(b => b.text === 'Zablokuj kontrahenta').enabled = this.permissions.hasCustomerBlockingPermission && !this.customer.isBlocked;\n this.menuButtons.find(b => b.text === 'Odblokuj kontrahenta').enabled = this.permissions.hasCustomerBlockingPermission && this.customer.isBlocked;\n }\n\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n if (tabChangeEvent.index === 2) {\n if (!this.canShowCustomerEmployees) {\n return;\n }\n if (this.customer.employees == undefined) {\n this.rest.getCustomerEmployees(this.customer.id).subscribe(employees => {\n this.customer.employees = employees;\n this.customerEmployeesComponent.setModel(this.customer);\n });\n } else {\n this.customerEmployeesComponent.setModel(this.customer);\n }\n }\n if (tabChangeEvent.index === 3) {\n if (!this.canShowSystemVersions) {\n return;\n }\n if (this.customer.systemVersions == undefined) {\n this.rest.getCustomerSystemVersions(this.customer.id).subscribe(systemVersions => {\n this.customer.systemVersions = systemVersions;\n this.customerSystemVersionsComponent.setModel(this.customer);\n });\n } else {\n this.customerSystemVersionsComponent.setModel(this.customer);\n }\n }\n if (tabChangeEvent.index === 4) {\n if (this.customer.licenses == undefined) {\n this.rest.getLicenses(this.customer.id).subscribe((licenses: License[]) => {\n this.customer.licenses = licenses;\n this.customerLicensesComponent.setModel(this.customer);\n })\n }\n else {\n this.customerLicensesComponent.setModel(this.customer);\n }\n }\n }\n\n public saveCustomer() {\n if (this.customerDetailsHeaderComponent.isInvalid()) {\n sweetAlert('Przed zapisem uzupełnij wymagane pola');\n return;\n }\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n if (this.isNew == true || this.nipOld != this.customer.nip) {\n const actionExists = this.rest.existsCustomer;\n actionExists.call(this.rest, this.customer.nip).subscribe((result: boolean) => {\n if (result) {\n sweetAlert('Kontrahent o takim NIP już istnieje. Czy zapisać kartotekę kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.saveCustomerAction();\n break;\n case 'no':\n this.isSaving = false;\n }\n });\n }\n else {\n this.saveCustomerAction();\n }\n });\n }\n else {\n this.saveCustomerAction();\n }\n\n\n // const action = this.rest.saveCustomer;\n // action.call(this.rest, this.customer, this.isNew).subscribe((result: Customer) => {\n // if (this.isNew) {\n // this.gridParamsRestoringService.saveAddingNewRowInfo(result.id);\n // }\n // this.isSaving = false;\n // this.close();\n // });\n }\n\n private saveCustomerAction() {\n const action = this.rest.saveCustomer;\n action.call(this.rest, this.customer, this.isNew).subscribe((result: Customer) => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(result.id);\n }\n this.isSaving = false;\n this.close();\n });\n }\n\n private block() {\n if (this.customer.isBlocked) {\n sweetAlert(`Kontrahent ${this.customer.name} jest już zablokowany.`);\n return;\n }\n\n sweetAlert('Czy na pewno chcesz zablokować Kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.rest.blockCustomer(this.customer.id).subscribe((result: boolean) => {\n if (result) {\n this.close();\n }\n });\n break;\n }\n });\n }\n\n private unblock() {\n if (!this.customer.isBlocked) {\n sweetAlert(`Kontrahent ${this.customer.name} jest już odblokowany.`);\n return;\n }\n\n sweetAlert('Czy na pewno chcesz odblokować Kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.rest.unblockCustomer(this.customer.id).subscribe((result: boolean) => {\n if (result) {\n this.close();\n }\n });\n break;\n }\n });\n }\n\n private close() {\n this.router.navigate(['../../'], { relativeTo: this.route });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../../../core/shared/shared.module';\nimport { CustomerDetailsRouting } from './customer-details.routing';\nimport { CustomerDetailsComponent } from './customer-details.component';\nimport { CustomersRest } from './../customers.rest';\nimport { CustomerDetailsHeaderComponent } from './header/customer-details-header.component';\nimport { DictionaryRest } from '../../../dictionaries/dictionary/dictionary.rest';\nimport { CustomerSystemVersionsComponent } from '../customer-details/system-versions/customer-system-versions/customer-system-versions.component';\nimport { SystemVersionsSelectionComponent } from './system-versions/system-versions-selection/system-versions-selection.component';\nimport { SystemVersionRest } from '../../../configuration/system-versions/system-versions.rest';\nimport { EmployeesRest } from '../../employees/employee.rest';\nimport { EmployeesModule } from '../../employees/employes.module';\nimport { EmployeesListComponent } from '../../employees/employee-list/employees-list.component';\nimport { CustomerLicensesComponent } from './customer-licenses/customer-licenses.component';\nimport { LicenseModalComponent } from './customer-licenses/licenses-creation/license-modal.component';\nimport { CustomerEmployeesComponent } from './customer-employees/customer-employees.component';\n\n\n@NgModule({\n imports: [SharedModule, CustomerDetailsRouting, EmployeesModule],\n declarations: [\n CustomerDetailsComponent,\n CustomerDetailsHeaderComponent,\n CustomerEmployeesComponent,\n CustomerSystemVersionsComponent,\n SystemVersionsSelectionComponent,\n CustomerLicensesComponent,\n LicenseModalComponent],\n entryComponents: [EmployeesListComponent],\n providers: [CustomersRest, DictionaryRest, SystemVersionRest, EmployeesRest]\n})\nexport class CustomerDetailsModule { }\n","import { CustomerDetailsComponent } from \"./customer-details.component\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { EmployeeIdSelectionComponent } from \"../../../core/shared/employee-selection/employee-id-selection.component\";\n\nconst routes: Routes = [\n { path: ':Id', component: CustomerDetailsComponent },\n { path: 'new', component: CustomerDetailsComponent },\n { path: 'selectUser', loadChildren: () => EmployeeIdSelectionComponent }\n];\n\nexport const CustomerDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { GridComponent } from '../../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CustomersRest } from '../../customers.rest';\nimport { CustomerEmployee, Customer } from '../../customers.model';\nimport { ObjectToSelect } from '../../../../core/shared/objectToSelect.model';\nimport { EmployeesRest } from '../../../employees/employee.rest';\nimport { Employee } from '../../../employees/employee.model';\nimport { HasPermissions, Permissions } from '../../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../../core/services/permissions/permissions.service';\nimport { EmployeeIdSelectionComponent } from '../../../../core/shared/employee-selection/employee-id-selection.component';\nimport { EmployeeModalComponent } from '../../../employees/employee-modal/employee-modal.component';\n\n@Component({\n selector: 'app-customer-employees',\n templateUrl: './customer-employees.component.html'\n})\nexport class CustomerEmployeesComponent implements OnInit, HasPermissions {\n @ViewChild(GridComponent) grid: GridComponent;\n private customer: Customer;\n\n private headers = [\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Telefon', propertyName: 'phone', propertyType: 'string' }\n ];\n\n constructor(private router: Router, private route: ActivatedRoute, private permissionsService: PermissionsService,\n private rest: CustomersRest, private employeeRest: EmployeesRest) { }\n\n @ViewChild(EmployeeIdSelectionComponent) public employeeSelectionModal: EmployeeIdSelectionComponent;\n @ViewChild(EmployeeModalComponent) public employeeModal: EmployeeModalComponent;\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n }\n\n public setModel(customer: Customer) {\n this.customer = customer;\n this.setPermissions('CustomerEmployee');\n }\n\n private getActionButtons() {\n return [];\n }\n\n private editEmployee(row: CustomerEmployee) {\n const action = this.employeeRest.getEmployee;\n action.call(this.rest, row.employeeId).subscribe((employee: Employee) => {\n if (employee) {\n this.employeeModal.setModel(employee, false);\n }\n });\n }\n\n private removeEmployee(row: CustomerEmployee) {\n\n let message = `Czy na pewno usunąć przypisanie pracownika ${row.employeeFullName} do obecnego kontrahenta?`;\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id != null) {\n const action = this.rest.removeCustomerEmployee;\n action.call(this.rest, row.id).subscribe();\n }\n\n this.customer.employees.splice(this.customer.employees.indexOf(row), 1);\n this.grid.refreshData();\n break;\n }\n });\n }\n\n private addEmployee() {\n const action = this.rest.getEmployeesToAdd;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n var employeeIds = this.customer.employees.map(x => x.employeeId)\n this.employeeSelectionModal.selectEmployee(result, employeeIds);\n }\n });\n }\n\n public onSuccessOperation(value) {\n if (value.isSuccess) {\n if (value.isNew) {\n const employee = new CustomerEmployee();\n if (value.isSaved) {\n employee.id = value.employee.id;\n }\n employee.employeeId = value.isSaved ? value.employee.employeeId : value.employee.id;\n employee.email = value.employee.email;\n employee.employeeFullName = value.isSaved ? value.employee.employeeFullName : value.employee.fullName;\n employee.phone = value.employee.phone;\n this.customer.employees.push(employee);\n } else {\n const employeeToEdit = this.customer.employees.find(x => x.employeeId === value.employee.id);\n employeeToEdit.employeeFullName = value.employee.fullName;\n employeeToEdit.email = value.employee.email;\n employeeToEdit.phone = value.employee.phone;\n }\n\n this.grid.refreshData();\n }\n }\n\n public onSuccessEmployeeOperation(event) {\n if (event.isSuccess) {\n var employeeId = event.selectedEmployeeId;\n //todo ask if you shure\n this.rest.addCustomerEmployee(this.customer.id, employeeId).subscribe((result: CustomerEmployee) => {\n if (result) {\n console.log(\"CustomerEmployeesComponent -> onSuccessEmployeeOperation -> result\", result)\n this.customer.employees.push(result)\n this.grid.refreshData();\n }\n });\n }\n }\n}\n\n","module.exports = \"
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Customer, License } from '../../customers.model';\nimport { HasPermissions } from '../../../../core/services/permissions/permissions.model';\nimport { Permissions } from '../../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../../core/services/permissions/permissions.service';\nimport { CustomersRest } from '../../customers.rest';\nimport { LicenseModalComponent } from './licenses-creation/license-modal.component';\nimport { GridComponent } from '../../../../core/shared/grid/grid.component';\n\n@Component({\n selector: 'app-customer-licenses',\n templateUrl: './customer-licenses.component.html',\n styleUrls: ['./customer-licenses.component.scss']\n})\nexport class CustomerLicensesComponent implements OnInit, HasPermissions {\n\n public customer: Customer;\n permissions: Permissions;\n @ViewChild(LicenseModalComponent) public licenseModal: LicenseModalComponent;\n @ViewChild(GridComponent) public grid: GridComponent;\n\n public headers = [\n { displayName: 'Nazwa dodatku', propertyName: 'appName', propertyType: 'string' },\n { displayName: 'Guid', propertyName: 'guid', propertyType: 'string' },\n { displayName: 'Od', propertyName: 'startDate', propertyType: 'date' },\n { displayName: 'Do', propertyName: 'expirationDate', propertyType: 'date' },\n { displayName: 'Częstotliwość', propertyName: 'checkFrequency', propertyType: 'number' },\n { displayName: 'Sprawdzono', propertyName: 'lastCheckDate', propertyType: 'date' }, \n { displayName: 'Ip', propertyName: 'ipAddress', propertyType: 'string' },\n { displayName: 'Info', propertyName: 'information', propertyType: 'string' }\n ];\n\n constructor(private rest: CustomersRest,\n private permissionService: PermissionsService) { }\n\n ngOnInit() {\n\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n public getActionButtons() {\n return [];\n }\n\n public setModel(customer: Customer) {\n this.customer = customer;\n this.setPermissions('Customer');\n }\n\n public onRowAdd() {\n this.licenseModal.open(true, null, this.customer);\n }\n\n public onRowEdit(row: License) {\n this.licenseModal.open(false, row, this.customer);\n }\n\n public onRowDelete(row: License) {\n let message = `Czy na pewno usunąć licencję ${row.appName}?`;\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id != null) {\n const action = this.rest.deleteLicense;\n action.call(this.rest, row.id).subscribe();\n }\n\n this.customer.licenses.splice(this.customer.licenses.indexOf(row), 1);\n this.grid.refreshData();\n break;\n }\n });\n }\n\n public onSuccessOperation(event) {\n if (event.isSuccess) {\n if (this.customer.id == 0) {\n event.license.id = (this.customer.licenses.length !== 0 ? Math.min.apply(Math, this.customer.licenses.map(function (o) { return o.id; })) : 0) - 1;\n this.customer.licenses.push(event.license);\n }\n else {\n event.license.customerId = this.customer.id;\n this.rest.saveLicense(event.license).subscribe((result: License) => {\n if (result && !this.customer.licenses.find(l => l.id == result.id)) {\n this.customer.licenses.push(result);\n this.grid.refreshData();\n }\n });\n }\n }\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź nazwę dodatku.\\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 Wartośc musi być pomiędzy {{checkFrequency.min}} a {{checkFrequency.max}}. \\n \\n \\n
\\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener } from '@angular/core';\nimport { HasPermissions, Permissions } from '../../../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../../../core/services/permissions/permissions.service';\nimport { ModalComponent } from '../../../../../core/shared/modal/modal.component';\nimport { NgForm } from '@angular/forms';\nimport { CustomersRest } from '../../../customers.rest';\nimport { License, Customer } from '../../../customers.model';\nimport { DateInputModel } from '../../../../../core/shared/date-input/date-input.model';\n\nconst startDateInternalName = 'startDate';\nconst expirationDateInternalName = 'expirationDate';\n\n@Component({\n selector: 'app-license-modal',\n templateUrl: './license-modal.component.html'\n})\nexport class LicenseModalComponent implements OnInit, HasPermissions {\n\n permissions: Permissions;\n public license: License;\n public customer: Customer;\n public expirationDate: DateInputModel;\n public startDate: DateInputModel;\n public enabled: boolean = true;\n private isNew: boolean;\n private isSaving = false;\n\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @ViewChild('licenseForm') licenseForm: NgForm;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.licenseForm.valid) {\n this.saveLicense();\n event.preventDefault();\n }\n }\n\n constructor(private permissionService: PermissionsService,\n private rest: CustomersRest) { }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.setPermissions('Customer');\n }\n\n public open(isNew: boolean, license: License, customer: Customer) {\n this.customer = customer;\n this.isNew = isNew;\n if (this.isNew || !license) {\n this.license = new License();\n this.license.startDate = new Date();\n this.license.expirationDate = new Date();\n this.license.checkFrequency = 0;\n }\n else{\n this.license = license\n }\n this.setupDates(this.license);\n this.modal.openWithCustomSize({ width: '650px' });\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public saveLicense() {\n if (this.isSaving) {\n return;\n }\n this.license.customerId = this.customer.id;\n this.selectedDates();\n this.isSaving = true;\n const action = this.rest.saveLicense;\n action.call(this.rest, this.license).subscribe((license: License) => {\n const emmitData = { isSuccess: true, isNew: this.isNew, license: license };\n this.isSaving = false;\n this.modal.close();\n this.onSuccess.emit(emmitData);\n });\n }\n\n public onDateValidation(date: DateInputModel, isValid: boolean) {\n if (!date) {\n return;\n }\n if (date.internalName === startDateInternalName && this.startDate.value > this.expirationDate.value) {\n this.expirationDate.value = new Date(date.value);\n this.expirationDate.value.setHours(2, 0, 0, 0);\n this.expirationDate.valueStr = this.expirationDate.value.toDateString();\n this.startDate.value.setHours(2, 0, 0, 0);\n }\n if (date.internalName === expirationDateInternalName && date.value < this.startDate.value) {\n if (date.value != null) {\n this.startDate.value = new Date(date.value);\n this.startDate.value.setHours(2, 0, 0, 0);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.expirationDate.value.setHours(2, 0, 0, 0);\n }\n }\n }\n\n public setupDates(license: License) {\n this.setupExpirationDate(new Date(license.expirationDate));\n this.setupStartDate(new Date(license.startDate));\n }\n\n public onCheckFrequencyChanged(value){\n this.license.checkFrequency = value;\n }\n\n private setupExpirationDate(expirationDate: Date | string) {\n if(typeof(expirationDate) === 'string'){\n expirationDate = new Date(expirationDate)\n }\n this.expirationDate = new DateInputModel();\n this.expirationDate.isReadOnly = !this.enabled;\n this.expirationDate.isRequired = true;\n this.expirationDate.name = 'Data wygaśnięcia licencji:';\n this.expirationDate.value = expirationDate;\n this.expirationDate.value.setHours(2, 0, 0, 0);\n this.expirationDate.internalName = expirationDateInternalName;\n\n this.expirationDate.valueStr = this.expirationDate.value.toDateString();\n this.expirationDate.withTime = false;\n }\n\n private setupStartDate(startDate: Date | string) {\n if(typeof(startDate) === 'string'){\n startDate = new Date(startDate)\n }\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = !this.enabled;\n this.startDate.isRequired = true;\n this.startDate.name = 'Data początkowa:';\n this.startDate.value = startDate;\n this.startDate.value.setHours(2, 0, 0, 0);\n this.startDate.internalName = startDateInternalName;\n\n this.startDate.valueStr = this.expirationDate.value.toDateString();\n this.startDate.withTime = false;\n }\n\n private selectedDates() {\n if (this.startDate.value != null) {\n this.license.startDate = this.startDate.value;\n }\n \n if (this.expirationDate.value != null) {\n this.license.expirationDate = this.expirationDate.value;\n }\n }\n}\n","module.exports = \"
\\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 Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Uzupełnij wartość. \\n Nieprawidłowe znaki. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wartośc musi być większa niż zero.\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wartośc musi być większa niż zero.\\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 Uzupełnij wartość. \\n Nie prawidlowy email. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Uzupełnij wartość.\\n Nieprawidłowe znaki. \\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
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n Obserwatorzy\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { DictionaryRest } from '../../../../dictionaries/dictionary/dictionary.rest';\nimport { Customer, CustomerWatcher } from '../../customers.model';\nimport { NgForm } from '@angular/forms';\nimport { SpinEditComponent } from '../../../../core/shared/spinedit/spinedit.component';\nimport { SelectionMode } from '../../../../core/shared/grid/grid.model';\nimport { EmployeesListComponent } from '../../../employees/employee-list/employees-list.component';\nimport { GridComponent } from '../../../../core/shared/grid/grid.component';\nimport { CustomersRest } from '../../customers.rest';\nimport { DialogService } from '../../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../../core/shared/dialog/dialog-config';\nimport { DateInputModel } from '../../../../core/shared/date-input/date-input.model';\n\n@Component({\n selector: 'app-customer-details-header',\n templateUrl: './customer-details-header.component.html',\n styleUrls: ['./customer-details-header.scss']\n})\nexport class CustomerDetailsHeaderComponent implements OnInit {\n\n constructor(\n private rest: CustomersRest,\n private dictionaryRest: DictionaryRest,\n public dialog: DialogService) { }\n\n public customer: Customer;\n public isAddedCustomer: boolean;\n public isNew: boolean;\n public isDialogActive: boolean = false;\n public blockedDate: DateInputModel;\n private isEditable: boolean;\n private vstsProjects: any = [{ 'value': '', 'id': 0 }];\n private erpVstsProjects: any = [{ 'value': '', 'id': 0 }];\n private watchersHeaders = [\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n ];\n\n @ViewChild('customerForm') customerForm: NgForm;\n @ViewChild('hourlyRate') hourlyRate: SpinEditComponent;\n @ViewChild('distanceToCustomer') distanceToCustomer: SpinEditComponent;\n @ViewChild(GridComponent) watchersGrid: GridComponent;\n\n ngOnInit() {\n this.dictionaryRest.getDictionaries(9).subscribe(vstsProjects => {\n this.vstsProjects = vstsProjects;\n });\n this.dictionaryRest.getDictionaries(10).subscribe(erpVstsProjects => {\n this.erpVstsProjects = erpVstsProjects;\n });\n }\n\n public setModel(customer: Customer, isNew: boolean, isEditable: boolean) {\n this.customer = customer;\n this.isNew = isNew;\n this.isEditable = isEditable;\n if (this.customer.blockedDate != null) {\n this.initializeDate()\n }\n }\n\n private initializeDate() {\n this.blockedDate = new DateInputModel();\n this.blockedDate.isReadOnly = true;\n this.blockedDate.isRequired = false;\n this.blockedDate.name = 'Data zablokowania';\n this.blockedDate.value = new Date(this.customer.blockedDate);\n this.blockedDate.valueStr = this.blockedDate.value.toDateString();\n this.blockedDate.withTime = false;\n this.blockedDate.internalName = 'customerBlockedDate';\n }\n\n\n public isSmallerThan(value: number) {\n return value <= 0;\n }\n\n public onHourlyRateChange(event: number) {\n this.customer.hourlyRate = event;\n }\n\n public onDistanceToCustomerChange(event: number) {\n this.customer.distanceToCustomer = event;\n }\n public onErpIdChange(event: number) {\n this.customer.erpId = event;\n }\n\n private checkSaveCondition() {\n if (!this.hourlyRate.isValid) {\n return false;\n }\n if (!this.distanceToCustomer.isValid) {\n return false;\n }\n return true;\n }\n\n public isInvalid() {\n if (this.checkSaveCondition()) {\n return this.customerForm.invalid;\n }\n return true;\n }\n\n public addWatcher() {\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz Obserwatorów';\n dialogconf.selectionMode = SelectionMode.multi;\n dialogconf.maxwidth = '1000px';\n this.isDialogActive = true;\n const ref = this.dialog.open(EmployeesListComponent, dialogconf);\n ref.afterClosed.subscribe(result => {\n this.isDialogActive = false;\n if (result != null) {\n result.forEach(element => {\n const watcher = new CustomerWatcher;\n watcher.customerId = this.customer.id;\n watcher.employeeFullName = element.fullName;\n watcher.employeeId = element.id;\n this.customer.customerWatchers.push(watcher);\n });\n this.watchersGrid.refreshData();\n }\n });\n }\n\n private removeWatcher(row: CustomerWatcher) {\n if (row.id != null) {\n const action = this.rest.removeWatcher;\n action.call(this.rest, row.id).subscribe();\n }\n this.customer.customerWatchers.splice(this.customer.customerWatchers.indexOf(row), 1);\n this.watchersGrid.refreshData();\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n \\n \\n \\n \\n \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { GridComponent } from '../../../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CustomersRest } from '../../../customers.rest';\nimport { SystemVersionsSelectionComponent } from '../system-versions-selection/system-versions-selection.component';\nimport { Customer, CustomerSystemVersion } from '../../../customers.model';\nimport { Permissions, HasPermissions } from '../../../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'app-customer-system-versions',\n templateUrl: './customer-system-versions.component.html'\n})\nexport class CustomerSystemVersionsComponent implements OnInit, HasPermissions {\n @ViewChild(GridComponent) grid: GridComponent;\n private customer: Customer;\n public viewEnable = true;\n\n private headers = [\n { displayName: 'Wersja', propertyName: 'systemVersionName', propertyType: 'string' },\n { displayName: 'Aktualna', propertyName: 'isCurrent', propertyType: 'bool' }\n ];\n\n constructor(private router: Router, \n private route: ActivatedRoute, \n private rest: CustomersRest, \n private permissionsService: PermissionsService) { }\n\n @ViewChild(SystemVersionsSelectionComponent) public systemVersionsSelectionModal: SystemVersionsSelectionComponent;\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n }\n\n public setModel(customer: Customer) {\n this.customer = customer;\n this.setPermissions('CustomerSystemVersion');\n }\n\n private getActionButtons() {\n return [];\n }\n\n private addSystemVersion() {\n this.systemVersionsSelectionModal.openModal(this.customer.id);\n }\n\n private onRowDelete(row: any) {\n sweetAlert({\n text: \"Czy napewno usunąć wersję systemu kontrahenta?\",\n buttons: {\n yes: { text: \"Tak\", value: \"yes\" },\n no: { text: \"Nie\", value: \"no\" }\n }\n }).then((value) => {\n switch (value) {\n case 'yes': {\n if (row.id != null) {\n const action = this.rest.removeCustomerSystemVersions;\n action.call(this.rest, row.id).subscribe((result: String) => {\n });\n }\n sweetAlert({ text: `Usunięto wersję systemu kontrahenta` });\n this.customer.systemVersions.splice(this.customer.systemVersions.indexOf(row), 1);\n this.grid.refreshData();\n break;\n }\n }\n });\n }\n\n public onSuccessOperation(value) {\n if (value.isSuccess) {\n sweetAlert({ text: `Dodano wersję systemu` });\n const systemVersion = new CustomerSystemVersion();\n systemVersion.isCurrent = true;\n if (value.isSaved) {\n systemVersion.systemVersionName = value.systemVersion.systemVersionName;\n systemVersion.id = value.systemVersion.id\n } else {\n systemVersion.systemVersionName = value.systemVersion.name;\n systemVersion.systemVersionId = value.systemVersion.id\n }\n this.customer.systemVersions.push(systemVersion);\n this.grid.refreshData();\n }\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n \\n \\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener} from '@angular/core';\nimport { ModalComponent } from '../../../../../core/shared/modal/modal.component';\nimport { SystemVersionRest } from '../../../../../configuration/system-versions/system-versions.rest';\nimport { CustomersRest } from '../../../customers.rest';\nimport { ObjectToSelect } from '../../../../../core/shared/objectToSelect.model';\nimport { NgForm } from '@angular/forms';\n\n@Component({\n selector: 'app-system-versions-selection',\n templateUrl: './system-versions-selection.component.html'\n})\nexport class SystemVersionsSelectionComponent implements OnInit {\n\n private systemVersions: ObjectToSelect[];\n public systemVersion: ObjectToSelect;\n private customerId: number;\n private systemVersionsOpen = false;\n private isSaving = false;\n\n constructor(private systemVersionRest: SystemVersionRest,\n private customerRest: CustomersRest) { }\n\n @ViewChild('systemVersionSelectionForm') systemVersionSelectionForm: NgForm;\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.systemVersionSelectionForm.valid) {\n this.confirm();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.modal.title = 'Dodaj wersję systemu';\n this.systemVersion = new ObjectToSelect;\n }\n\n public openModal(customerId: number) {\n this.customerId = customerId;\n const action = this.systemVersionRest.getSystemVersionsToSelect;\n action.call(this.systemVersionRest).subscribe((systemVersions: ObjectToSelect[]) => {\n if (systemVersions) {\n this.systemVersions = systemVersions;\n this.systemVersion = systemVersions[0];\n }\n });\n this.modal.open();\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n private confirm() {\n if (this.isSaving) {\n return;\n }\n if (this.customerId !== 0) {\n this.isSaving = true;\n const action = this.customerRest.addCustomerSystemVersion;\n action.call(this.customerRest, this.customerId, this.systemVersion.id).subscribe((result: any) => {\n let emmitData = {isSuccess: true, systemVersion: result, isSaved: true};\n this.onSuccess.emit(emmitData);\n this.isSaving = false;\n });\n } else {\n this.isSaving = true;\n let emmitData = {isSuccess: true, systemVersion: this.systemVersion, isSaved: false};\n this.onSuccess.emit(emmitData);\n this.isSaving = false;\n }\n this.modal.close();\n }\n\n\n}\n\n","module.exports = \"
\\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
\"","module.exports = \".bottomMargin {\\n margin-bottom: 10px;\\n margin-left: 0; }\\n\"","import { Component, OnInit, ViewChild, AfterViewInit, Input } from '@angular/core';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoginRest } from '../../../login/login.rest';\nimport { CustomersRest } from './../customers.rest';\nimport { CustomerRow } from './../customers.model'\nimport { GridSelection, SelectionMode, SortedColumn, GridMainFilter } from '../../../core/shared/grid/grid.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { GridParamsRestorable } from '../../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\n\n@Component({\n selector: 'app-customers-list',\n templateUrl: './customers-list.component.html',\n styleUrls: ['./customers-list.component.scss']\n})\nexport class CustomersListComponent extends GridSelection implements OnInit, HasPermissions, AfterViewInit, GridParamsRestorable {\n readonly detailsPath: string = '/customers/customer';\n\n public permissions: Permissions;\n @Input() initialFilters: { code: '' };\n @ViewChild(GridComponent) grid: GridComponent;\n private path: string;\n public viewEnable = true;\n private isEditable: boolean;\n private isRemovable: boolean;\n private isAdd: boolean;\n public dialogConfigData: any;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public editedItemId: number;\n public mainFilter: GridMainFilter[];\n public previousMainFilters: any = {};\n public initialSortedColumn: SortedColumn;\n public gridCustomButtons = [];\n public showArchived: boolean;\n private isRestoredMainFilter: boolean = false;\n public isDialog: boolean = false;\n\n private headers = [\n { displayName: 'Kod', propertyName: 'code', propertyType: 'string' },\n { displayName: 'Nazwa', propertyName: 'name', propertyType: 'string' },\n { displayName: 'NIP', propertyName: 'nip', propertyType: 'string' },\n { displayName: 'Stawka godzinowa', propertyName: 'hourlyRate', propertyType: 'number' },\n { displayName: 'Odległość od klienta', propertyName: 'distanceToCustomer', propertyType: 'number' },\n { displayName: 'Email', propertyName: 'email', propertyType: 'string', },\n { displayName: 'Telefon', propertyName: 'phone', propertyType: 'string' },\n { displayName: 'Adres', propertyName: 'address', propertyType: 'string' },\n { displayName: 'Regulamin', propertyName: 'rules', propertyType: 'bool' },\n { displayName: 'Zablokowany', propertyName: 'isBlocked', propertyType: 'bool' }\n ];\n\n private gridMenuButtons: MenuButton[] = [\n { text: 'Zablokuj kontrahenta', class: 'btn-danger', icon: '', onClick: () => { this.block(); }, enabled: false, isForSelected: true },\n { text: 'Odblokuj kontrahenta', class: \"btn-warning\", icon: '', onClick: () => { this.unblock(); }, enabled: false, isForSelected: true }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private loginRest: LoginRest,\n private customerRest: CustomersRest,\n private permissionService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService\n ) {\n super();\n this._grid = this.grid;\n this.selectionMode = this.selectionMode === SelectionMode.none ? SelectionMode.multi : this.selectionMode;\n }\n\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('Customer');\n this.mainFilter = new Array();\n this.processDialogConfig();\n this.path = 'api/customers/grid';\n if (!this.dialogConfigData) {\n this.isRestoredMainFilter = this.tryRestoreFiltersAndPage();\n }\n }\n\n ngAfterViewInit() {\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n this.isEditable = !this.dialogConfigData && (this.permissions.canEdit || this.permissions.canShow);\n this.isRemovable = !this.dialogConfigData && this.permissions.canDelete;\n this.isAdd = !this.dialogConfigData && this.permissions.canAdd;\n this.gridMenuButtons.find(x => x.text === 'Zablokuj kontrahenta').enabled = this.permissions.hasCustomerBlockingPermission;\n this.gridMenuButtons.find(x => x.text === 'Odblokuj kontrahenta').enabled = this.permissions.hasCustomerBlockingPermission;\n }\n\n private processDialogConfig() {\n if(this.dialogConfigData != null){\n this.isDialog = this.dialogConfigData.selectList;\n this.grid.isModal = this.isDialog;\n if(this.dialogConfigData['initialFilters']){\n this.initialFilters = this.dialogConfigData['initialFilters'];\n }\n }\n }\n\n private onRowEdit(row: CustomerRow) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['../customers/customer', row.name], { queryParams: { id: row.id }, relativeTo: this.route });\n }\n\n private onRowDelete(row: CustomerRow) {\n sweetAlert('Czy usunąć Kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.customerRest.removeCustomer(row.id).subscribe((result: string) => {\n if (result) {\n sweetAlert('Usunięto kontrahenta.');\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n\n public addCustomer() {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['../customers/customer', 'new'], { relativeTo: this.route });\n }\n\n private tryRestoreFiltersAndPage() : boolean {\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\n if (!previousGridParams) {\n return;\n }\n\n this.initialFilters = previousGridParams.initialFilters;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n this.previousMainFilters = previousGridParams.previousMainFilters;\n\n return true;\n }\n\n private block() {\n var selectedItems = this.grid.getSelectedItems();\n if (selectedItems.length === 0) {\n sweetAlert('Nie zaznaczono elementu.');\n return;\n }\n if (selectedItems.length > 1) {\n sweetAlert('Zaznaczono więcej niż jeden element.');\n return;\n }\n var row = selectedItems[0];\n if (row.isBlocked) {\n sweetAlert(`Kontrahent ${row.name} jest już zablokowany.`);\n return;\n }\n sweetAlert('Czy na pewno chcesz zablokować Kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.customerRest.blockCustomer(row.id).subscribe((result: boolean) => {\n if (result) {\n sweetAlert('Zablokowano kontrahenta.');\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n\n private unblock() {\n var selectedItems = this.grid.getSelectedItems();\n if (selectedItems.length === 0) {\n sweetAlert('Nie zaznaczono elementu.');\n return;\n }\n if (selectedItems.length > 1) {\n sweetAlert('Zaznaczono więcej niż jeden element.');\n return;\n }\n var row = selectedItems[0];\n if (!row.isBlocked) {\n sweetAlert(`Kontrahent ${row.name} jest już odblokowany.`);\n return;\n }\n sweetAlert('Czy na pewno chcesz odblokować Kontrahenta?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.customerRest.unblockCustomer(row.id).subscribe((result: boolean) => {\n if (result) {\n sweetAlert('Odblokowano kontrahenta.');\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n\n public filter() {\n this.setFilter('ShowArchived', this.showArchived);\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n public clearFilter() {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === 'ShowArchived') { this.mainFilter.splice(index, 1); }\n });\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n this.showArchived = false;\n }\n\n private setFilter(internalName: string, filterValue: any) {\n if (this.mainFilter != null) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n\n if (filterValue !== undefined) {\n this.mainFilter.push({ internalName: internalName, value: filterValue });\n }\n\n this.grid.mainFilter = this.mainFilter;\n }\n } \n\n private setFiltersFromRestoredData() {\n const showArchived = this.findFilter('ShowArchived');\n console.log(\"CustomersListComponent -> setFiltersFromRestoredData -> showArchived\", showArchived);\n if (showArchived != null && showArchived === 'true') {\n this.showArchived = true;\n } else if (showArchived != null && showArchived === 'false') {\n this.showArchived = false;\n } else {\n this.showArchived = this.showArchived;\n }\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from \"../../../core/shared/shared.module\";\nimport { CustomersListRouting } from \"./customers-list.routing\";\nimport { CustomersListComponent } from \"./customers-list.component\";\nimport { CustomersRest } from \"./../customers.rest\";\nimport { LoginRest } from \"../../../login/login.rest\";\n\n@NgModule({\n imports: [\n CommonModule,\n CustomersListRouting,\n SharedModule,\n ],\n declarations: [CustomersListComponent],\n exports: [CustomersListComponent],\n providers : [CustomersRest, LoginRest]\n})\nexport class CustomersListModule { }\n","import { CustomersListComponent } from \"./customers-list.component\";\nimport { CustomersListModule } from \"./customers-list.module\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { CustomerDetailsModule } from \"../customer-details/customer-details.module\";\n\nconst routes: Routes = [\n { path: '', component: CustomersListComponent },\n { path: 'customer', loadChildren: () => CustomerDetailsModule }\n ];\n\n export const CustomersListRouting = RouterModule.forChild(routes);","export class Customer {\n id: number;\n erpId: number;\n code: string;\n name: string;\n description: string;\n isLocal: boolean;\n distanceToCustomer: number;\n email: string;\n phone: string;\n objectTypeId: number;\n createdDate: Date;\n createdBy: string;\n updatedDate: Date;\n updatedBy: string;\n hourlyRate: number;\n nip: string;\n street: string;\n postCode: string;\n city: string;\n country: string;\n accessParameters: string;\n rules: boolean;\n vstsProjectId: number;\n erpVstsProjectId: number;\n archival: boolean;\n isBlocked: boolean;\n blockedBy: string;\n blockedDate: string;\n\n employees: CustomerEmployee[];\n systemVersions: CustomerSystemVersion[];\n customerWatchers: CustomerWatcher[];\n licenses: License[];\n}\n\nexport class CustomerEmployee {\n id: number;\n customerId: number;\n employeeId: number;\n employeeFullName: string;\n email: string;\n phone: string;\n customerName: string;\n customerCode: string;\n customerTin: string;\n customerEmail: string;\n customerPhone: string;\n}\n\nexport class CustomerSystemVersion {\n id: number;\n customerId: number;\n systemVersionId: number;\n systemVersionName: string;\n isCurrent: boolean;\n}\n\nexport class CustomerWatcher {\n id: number;\n customerId: number;\n employeeId: number;\n employeeFullName: string;\n}\n\nexport class CustomerRow {\n id: number;\n code: string;\n name: string;\n nip: string;\n hourlyRate: number;\n distanceToCustomer: number;\n email: string;\n phone: string;\n address: string;\n rules: boolean;\n isBlocked: boolean;\n createdDate: Date;\n createdBy: string;\n updatedDate: Date;\n updatedBy: string;\n}\n\nexport class License {\n id: number;\n customerId: number;\n appName: string;\n startDate: Date;\n expirationDate: Date;\n checkFrequency: number;\n lastCheckDate: Date;\n}","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../core/core/rest.service\";\nimport { Customer, CustomerRow, CustomerEmployee, CustomerSystemVersion, License } from \"./customers.model\";\nimport { ObjectToSelect } from \"../../core/shared/objectToSelect.model\";\n\n@Injectable()\nexport class CustomersRest {\n constructor(private http: RestService) { }\n\n public getCustomers() {\n return this.http.get('api/customers');\n }\n\n public createCustomer() {\n return this.http.get(`api/customer/createCustomer`);\n }\n\n public getEmployees(id: number) {\n return this.http.post(`api/customer/employees/grid/${id}`, {});\n }\n\n public getCustomerRowsByName(name: string) {\n return this.http.get(`api/customer/rows/${name}`);\n }\n\n public getCustomerDetails(id: number) {\n return this.http.get(`api/customers/customer/${id}`);\n }\n\n public saveCustomer(customer: any, isNew: boolean) {\n return this.http.post(`api/customer/save/${isNew}`, customer);\n }\n\n public removeCustomer(customerId: number) {\n return this.http.post(`api/customer/delete/${customerId}`, {});\n }\n\n public getEmployeesToAdd() {\n return this.http.get('api/customer/getEmployeesToAdd');\n }\n\n public removeCustomerEmployee(customerEmployeeId: number) {\n return this.http.post(`api/customer/removeCustomerEmployee/${customerEmployeeId}`, {});\n }\n\n public editCustomerEmployee(employee: CustomerEmployee) {\n return this.http.post(`api/customer/edit`, employee);\n }\n\n public checkCurrentEmployeer(employeeId: number) {\n return this.http.get(`api/customer/checkCurrentEmployeer/${employeeId}`);\n }\n\n public removeCustomerSystemVersions(id: number) {\n return this.http.post(`api/customer/systemVersions/remove/${id}`, {});\n }\n\n public removeWatcher(id: number) {\n return this.http.post(`api/customer/watchers/remove/${id}`, {});\n }\n\n public getCustomerEmployees(id: number) {\n return this.http.post(`api/customer/employees/${id}`, {});\n }\n\n public getCustomerSystemVersions(id: number) {\n return this.http.post(`api/customer/systemVersions/${id}`, {});\n }\n\n public addCustomerSystemVersion(customerId: number, systemVersionId: number) {\n return this.http.post(`api/customer/systemVersions/add/${customerId}/${systemVersionId}`, {});\n }\n\n public addCustomerEmployee(customerId: number, employeeId: number) {\n return this.http.post(`api/customer/addCustomerEmployee/${customerId}/${employeeId}`, {});\n }\n\n public getLicenses(customerId: number) {\n return this.http.get(`api/customer/licenses/${customerId}`);\n }\n\n public saveLicense(license: License) {\n return this.http.post('api/customer/licenses/save', license);\n }\n\n public deleteLicense(licenseId: number) {\n return this.http.post(`api/customer/licenses/delete/${licenseId}`, {});\n }\n\n public blockCustomer(customerId: number) {\n return this.http.post(`api/customer/blockCustomer/${customerId}`, {});\n }\n\n public unblockCustomer(customerId: number) {\n return this.http.post(`api/customer/unblockCustomer/${customerId}`, {});\n }\n\n public existsCustomer(nip: string) {\n return this.http.get(`api/customer/exists/${nip}`);\n }\n\n}","module.exports = \"\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener } from '@angular/core';\nimport { Customer, CustomerEmployee } from '../../customers/customers.model';\nimport { Employee } from '../employee.model';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { EmployeesRest } from '../employee.rest';\nimport { NgForm } from '@angular/forms';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { CustomersRest } from '../../customers/customers.rest';\n\n@Component({\n selector: 'app-customer-selection',\n templateUrl: './customer-selection.component.html'\n})\nexport class CustomerSelectionComponent implements OnInit {\n public employee: Employee;\n public currentEmployeer: String;\n public customers: ObjectToSelect[];\n //public customer: ObjectToSelect;\n public customerId: number;\n private employeesOpen = false;\n private isSaving = false;\n\n constructor(private rest: EmployeesRest, private customerRest: CustomersRest) { }\n\n @ViewChild('customerSelectionForm') customerSelectionForm: NgForm;\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.customerSelectionForm.valid) {\n this.confirm();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.modal.title = 'Wybierz kontrahenta';\n //this.customer = new ObjectToSelect();\n }\n\n public selectCustomer(customers: ObjectToSelect[], employee: Employee) {\n this.employee = employee;\n this.customers = customers.filter(x => this.employee.customers.every(y => y.customerId !== x.id));\n this.modal.openWithCustomSize({ height: '25vh', width: '450px' });\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n private confirm() {\n if (this.isSaving) {\n return;\n }\n\n this.addCustomerEmployee();\n }\n\n private addCustomerEmployee() {\n if (this.employee.id !== 0) {\n this.isSaving = true;\n const action = this.rest.addCustomerEmployee;\n action.call(this.rest, this.customerId, this.employee.id).subscribe((result: CustomerEmployee) => {\n let emmitData = { isSuccess: true, customer: result };\n this.onSuccess.emit(emmitData);\n this.isSaving = false;\n });\n } else {\n this.isSaving = true;\n this.customerRest.getCustomerDetails(this.customerId).subscribe((result: Customer) => {\n if (result) {\n let customerEmployee = new CustomerEmployee();\n customerEmployee.employeeId = this.employee.id;\n customerEmployee.customerId = result.id;\n customerEmployee.customerName = result.name;\n customerEmployee.customerCode = result.code;\n customerEmployee.customerEmail = result.email;\n customerEmployee.customerPhone = result.phone;\n customerEmployee.customerTin = result.nip;\n customerEmployee.id = (this.employee.customers.length !== 0 ? Math.min.apply(Math, this.employee.customers.map(function (o) { return o.id; })) : 0) - 1;\n let emmitData = { isSuccess: true, customer: customerEmployee };\n this.onSuccess.emit(emmitData);\n this.isSaving = false;\n }\n });\n }\n this.modal.close();\n }\n\n private onOpen() {\n this.employeesOpen = true;\n }\n\n private onClose() {\n this.employeesOpen = false;\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n}\n","module.exports = \"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Główne
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n
Powiązani kontrahenci
\\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\"","module.exports = \"\"","import { Component, OnInit, ViewChild, HostListener, AfterViewInit } from '@angular/core';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { NgForm } from '@angular/forms';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { EmployeesRest } from '../employee.rest';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { Employee, NotificationEmployee } from '../employee.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { CustomerSelectionComponent } from '../customer-selection/customer-selection.component';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { CustomerEmployee } from '../../customers/customers.model';\nimport { MessageBoxComponent } from '../../../core/shared/message-box.component';\nimport { EmployeeDetailsHeaderComponent } from './header/employee-details-header.component';\nimport { GridMainFilter, SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { AbsencesCalendarComponent } from '../../../absences/absences-calendar/absences-calendar.component';\nimport { DateRange } from '../../../core/shared/calendar/calendar.model';\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { EmployeeIdSelectionComponent } from '../../../core/shared/employee-selection/employee-id-selection.component';\n\n@Component({\n selector: 'app-employee-details',\n templateUrl: './employee-details.component.html',\n styleUrls: ['./employee-details.component.scss']\n})\nexport class EmployeeDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n @ViewChild('employeeForm') employeeForm: NgForm;\n @ViewChild(\"customersGrid\") customersGrid: GridComponent;\n @ViewChild(CustomerSelectionComponent) public customerSelectionModal: CustomerSelectionComponent;\n @ViewChild(\"employeeselection\") public employeeSelectionModal: EmployeeIdSelectionComponent;\n @ViewChild(\"notificationEmployeesGrid\") notificationEmployeesGrid: GridComponent;\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild(EmployeeDetailsHeaderComponent) employeeDetailsHeaderComponent: EmployeeDetailsHeaderComponent;\n\n @ViewChild(AbsencesCalendarComponent) calendar: AbsencesCalendarComponent;\n\n public calendarMainFilter: GridMainFilter[];\n\n public employee: Employee;\n private isSaving = false;\n private isNew: boolean;\n private enabled: boolean;\n private calendarDateRange: DateRange;\n\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveEmployee(); }, enabled: false, isForSelected: false };\n private menuButtons: MenuButton[] = [\n this.saveButton,\n { text: 'COMMONBUTTONS_close', class: 'btn-danger', icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n\n private headers = [\n { displayName: 'Kod', propertyName: 'customerCode', propertyType: 'string' },\n { displayName: 'Nazwa', propertyName: 'customerName', propertyType: 'string' },\n { displayName: 'NIP', propertyName: 'customerTin', propertyType: 'string' },\n { displayName: 'Email', propertyName: 'customerEmail', propertyType: 'string' },\n { displayName: 'Telefon', propertyName: 'customerPhone', propertyType: 'string' }\n ];\n\n private notificationsHeaders = [\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Imię', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Nazwisko', propertyName: 'surname', propertyType: 'string' }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private employeesRest: EmployeesRest,\n private permissionService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService,\n public dialog: DialogService,\n ) { }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions(\"Employee\");\n this.route.queryParams.subscribe(params => {\n if (params.employeeId && params.employeeId !== \"0\") {\n this.isNew = false;\n this.spinnerService.show();\n this.employeesRest.getEmployee(parseInt(params.employeeId)).subscribe(value => {\n this.employee = value;\n this.employeeDetailsHeaderComponent.setModel(this.employee, this.isNew, this.messageBox);\n this.setEnable();\n this.spinnerService.hide();\n });\n } else {\n this.spinnerService.show();\n this.isNew = true;\n this.employee = new Employee();\n this.employee.id = 0;\n this.employee.isForeignEmployee = false;\n this.employee.customers = new Array();\n this.employee.notificationEmployees = new Array();\n this.employeeDetailsHeaderComponent.setModel(this.employee, this.isNew, this.messageBox);\n this.setEnable();\n this.spinnerService.hide();\n }\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.customerSelectionModal && this.customerSelectionModal.modal.modalRoot.isShown === true) {\n return;\n }\n\n this.saveEmployee();\n event.preventDefault();\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n switch (tabChangeEvent.index) {\n case 1: //list\n break;\n\n case 2: //calendar\n this.calendarDateRange = this.calendar.calendar.currentDateRange;\n this.updateCalendarFilter();\n this.calendar.mainFilter = this.calendarMainFilter;\n this.calendar.refreshCalendarData();\n break;\n case 3:\n break;\n default:\n break;\n }\n }\n\n public onCalendarDateNav(dateRange: DateRange) {\n this.calendarDateRange = dateRange;\n this.updateCalendarFilter();\n this.calendar.refreshCalendarData();\n }\n\n private saveEmployee() {\n if (this.isInvalid()) {\n sweetAlert(\"Dane są niepoprawne, nie można zapisać.\");\n return;\n }\n if (this.employee.isForeignEmployee && this.employee.customers.length == 0) {\n sweetAlert(\"Dla pracownika zewnętrznego należy dodać przynajmniej jednego kontrahenta.\");\n return;\n }\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n const action = this.employeesRest.saveEmployee;\n action.call(this.employeesRest, this.employee, this.isNew).subscribe((employee: Employee) => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n this.isSaving = false;\n }, (error) => {\n this.isSaving = false;\n });\n }\n\n private close() {\n if (this.isSaving) {\n return;\n }\n this.router.navigate(['../../'], { relativeTo: this.route });\n }\n\n private setEnable() {\n this.enabled = this.permissions.canEdit;\n this.saveButton.enabled = this.enabled;\n }\n\n private addCustomer() {\n const action = this.employeesRest.getCustomerRows;\n action.call(this.employeesRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.customerSelectionModal.selectCustomer(result, this.employee);\n }\n });\n }\n\n private removeCustomer(row: CustomerEmployee) {\n let message = `Czy na pewno usunąć przypisanie pracownika do kontrahenta ${row.customerName}?`;\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id > 0) {\n this.employeesRest.removeCustomerEmployee(row.id).subscribe((result: boolean) => {\n if (result) {\n this.employee.customers.splice(this.employee.customers.indexOf(row), 1);\n this.customersGrid.refreshData();\n }\n });\n }\n else {\n this.employee.customers.splice(this.employee.customers.indexOf(row), 1);\n this.customersGrid.refreshData();\n }\n break;\n }\n });\n }\n\n private onSuccessOperation(event) {\n if (event.isSuccess) {\n this.employee.customers.push(event.customer);\n this.customersGrid.refreshData();\n }\n }\n\n private addNotificationEmployee() {\n const action = this.employeesRest.getEmployeeRows;\n action.call(this.employeesRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n let employeeIds = this.employee.notificationEmployees.map(x => x.notificationEmployeeId);\n console.log(\"EmployeeDetailsComponent -> addNotificationEmployee -> employeeIds\", employeeIds)\n if (this.employee.id != 0)\n employeeIds.push(this.employee.id)\n console.log(\"EmployeeDetailsComponent -> addNotificationEmployee -> employeeIds\", employeeIds)\n this.employeeSelectionModal.selectEmployee(result, employeeIds);\n }\n });\n }\n\n private removeNotificationEmployee(row: NotificationEmployee) {\n let message = `Czy na pewno usunąć przypisanie pracownika powiadamianego ${row.name}?`;\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id > 0) {\n this.employeesRest.removeNotificationEmployee(row.id).subscribe((result: boolean) => {\n if (result) {\n this.employee.notificationEmployees.splice(this.employee.notificationEmployees.indexOf(row), 1);\n this.notificationEmployeesGrid.refreshData();\n }\n });\n }\n else {\n this.employee.notificationEmployees.splice(this.employee.notificationEmployees.indexOf(row), 1);\n this.notificationEmployeesGrid.refreshData();\n }\n break;\n }\n });\n }\n\n private onEmployeeSelectionSuccess(event: { isSuccess: boolean, selectedEmployeeId: any }) {\n if (event.isSuccess) {\n this.employeesRest.addNotificationEmployee(event.selectedEmployeeId, this.employee.id).subscribe((result: NotificationEmployee) => {\n if (result) {\n this.employee.notificationEmployees.push(result);\n this.notificationEmployeesGrid.refreshData();\n }\n });\n }\n }\n\n\n private updateCalendarFilter() {\n this.calendarMainFilter = new Array();\n this.calendarMainFilter.push({ internalName: 'EmployeeId', value: this.employee.id.toString() });\n if (this.calendarDateRange) {\n this.calendarMainFilter.push({ internalName: 'StartDate', value: this.calendarDateRange.start.toJSON() });\n this.calendarMainFilter.push({ internalName: 'EndDate', value: this.calendarDateRange.end.toJSON() });\n }\n this.calendar.mainFilter = this.calendarMainFilter;\n }\n\n public isInvalid() {\n return this.employeeDetailsHeaderComponent.isInvalid();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmployeeDetailsComponent } from './employee-details.component';\nimport { SharedModule } from '../../../core/shared/shared.module';\nimport { EmployeeDetailsRouting } from './employee-details.routing';\nimport { CustomerSelectionComponent } from '../customer-selection/customer-selection.component';\nimport { CustomersRest } from '../../customers/customers.rest';\nimport { EmployeeDetailsHeaderComponent } from './header/employee-details-header.component';\nimport { IssuesRest } from '../../../issues/issues.rest';\nimport { UserDetailsRest } from '../../users/user-details/user-details.rest';\nimport { AbsencesCalendarModule } from '../../../absences/absences-calendar/absences-calendar.module';\nimport { EmployeeSignatureModalComponent } from './employee-signature-modal/employee-signature-modal.component';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule,\n EmployeeDetailsRouting,\n AbsencesCalendarModule\n ],\n declarations: [EmployeeDetailsComponent, CustomerSelectionComponent, EmployeeDetailsHeaderComponent, EmployeeSignatureModalComponent],\n providers: [CustomersRest, IssuesRest, UserDetailsRest]\n})\nexport class EmployeeDetailsModule { }\n","import { Routes, RouterModule } from '@angular/router';\nimport { EmployeeDetailsComponent } from './employee-details.component';\n\nconst routes: Routes = [ \n { path: ':employeeName', component: EmployeeDetailsComponent },\n { path: 'new', component: EmployeeDetailsComponent }\n];\n\nexport const EmployeeDetailsRouting = RouterModule.forChild(routes);\n","module.exports = \"\\n
\\n
\\n \\n
\\n \\n\\n
\"","import { Component, OnInit, OnDestroy, ViewChildren, QueryList, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { RichTextComponent } from '../../../../core/shared/richtext/richtext.component';\nimport { Employee } from '../../employee.model';\nimport { ModalComponent } from '../../../../core/shared/modal/modal.component';\n\n@Component({\n selector: 'app-employee-signature-modal',\n templateUrl: './employee-signature-modal.component.html'\n})\nexport class EmployeeSignatureModalComponent implements OnInit, OnDestroy {\n @Output() onClose = new EventEmitter();\n\n private employee: Employee;\n private subscription: Subscription;\n private signatureView: RichTextComponent = null;\n\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @ViewChildren(RichTextComponent) signatureViews: QueryList;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public setModel(employee: Employee) {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n\n this.employee = employee;\n this.modal.openWithCustomSize({ 'maxwidth': '1000px' });\n this.getSignature();\n }\n\n public closeModal() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.modal.close();\n this.onClose.emit();\n }\n\n public saveSignature() {\n let signature = this.signatureView.getHtml();\n if (this.signatureView.isEmpty(signature)) {\n this.employee.emailSignature = '';\n } else {\n this.employee.emailSignature = signature;\n }\n\n this.closeModal();\n }\n\n private getSignature() {\n if (!this.signatureViews) {\n return;\n }\n this.subscription = this.signatureViews.changes.subscribe((nv: QueryList) => {\n if (this.signatureView === null) {\n this.signatureView = nv.first;\n }\n\n if (this.signatureView && this.employee.emailSignature && this.employee.emailSignature !== '') {\n this.signatureView.setHtml(this.employee.emailSignature);\n } else {\n this.signatureView.setHtml('');\n }\n });\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź imię. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź nazwisko. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Uzupełnij wartość. \\n Nie prawidłowy email. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Nieprawidłowe znaki. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n Należy wybrać dział\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n Wprowadź przelożonego. \\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\"","import { OnInit, Component, ViewChild } from \"@angular/core\";\nimport { HasPermissions, Permissions } from \"../../../../core/services/permissions/permissions.model\";\nimport { NgForm } from \"@angular/forms\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { PermissionsService } from \"../../../../core/services/permissions/permissions.service\";\nimport { Employee } from \"../../employee.model\";\nimport { MessageBoxComponent } from \"../../../../core/shared/message-box.component\";\nimport { IssuesRest } from \"../../../../issues/issues.rest\";\nimport { ObjectToSelect } from \"../../../../core/shared/objectToSelect.model\";\nimport { UserDetailsRest } from \"../../../users/user-details/user-details.rest\";\nimport { EmployeesRest } from \"../../employee.rest\";\nimport { EmployeeSignatureModalComponent } from \"../employee-signature-modal/employee-signature-modal.component\";\n\n@Component({\n selector: 'smp-employee-header',\n templateUrl: 'employee-details-header.component.html',\n styleUrls: ['../../employee-details/employee-details.component.scss']\n})\n\nexport class EmployeeDetailsHeaderComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n\n @ViewChild('valForm') public valForm: NgForm;\n @ViewChild(EmployeeSignatureModalComponent) employeeModal: EmployeeSignatureModalComponent;\n\n public employee: Employee;\n public isNew: boolean;\n public supervisorRequired: boolean;\n public messageBox: MessageBoxComponent;\n \n private departments: ObjectToSelect[];\n private supervisors: ObjectToSelect[];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute, \n private issueRest: IssuesRest,\n private userRest: UserDetailsRest,\n private employeesRest: EmployeesRest,\n private permissionService: PermissionsService) {\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.setPermissions(\"Employee\");\n }\n\n public setModel(employeeDetailsModel: any, isNew: boolean, messageBox: MessageBoxComponent) {\n this.employee = employeeDetailsModel; \n this.isNew = isNew;\n this.messageBox = messageBox;\n \n if (this.employee.isForeignEmployee == false)\n this.supervisorRequired = true; \n\n this.getDepartments();\n this.getSupervisors(this.employee.id);\n }\n\n public getDepartments() {\n const action = this.issueRest.getDepartments;\n action.call(this.issueRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.departments = result;\n }\n });\n }\n\n public isInvalid() {\n return this.valForm.invalid;\n }\n\n public editSignature() {\n this.employeeModal.setModel(this.employee);\n }\n\n private getSupervisors(employeeId: number) {\n this.employeesRest.getAvailableSupervisors(employeeId).subscribe(employees => this.supervisors = employees); \n }\n\n public test123() {\n console.log('employee: ', this.employee);\n }\n}","module.exports = \"
\\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\"","module.exports = \"\"","import { Component, OnInit, ViewChild, EventEmitter, AfterViewInit, HostListener } from '@angular/core';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { EmployeesRest } from '../employee.rest';\nimport { Employee } from '../employee.model';\nimport { EmployeeModalComponent } from '../employee-modal/employee-modal.component'\nimport { GridSelection, SelectionMode, GridMainFilter, SortedColumn } from '../../../core/shared/grid/grid.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DialogControl } from '../../../core/shared/dialog/dialog.model';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { GridParamsRestorable } from '../../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { PrintoutService } from '../../../core/services/printout/printout-service.service';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { TimesheetPrintoutConfigModalComponent } from './timesheet-printout-config-modal/timesheet-printout-config-modal.component';\nimport { LoginRest } from '../../../login/login.rest';\n\n@Component({\n selector: 'app-employees-list',\n templateUrl: './employees-list.component.html',\n styleUrls: ['./employees-list.component.scss']\n})\nexport class EmployeesListComponent extends GridSelection implements GridParamsRestorable, OnInit, HasPermissions, DialogControl, AfterViewInit {\n public dialogConfigData: any;\n public onDialogClose: EventEmitter = new EventEmitter();\n public confirmDialog() { };\n public closeDialog() { };\n isConfirmButtonDisabled: boolean = false;\n\n public showInactive: boolean;\n permissions: Permissions;\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(TimesheetPrintoutConfigModalComponent) printoutConfigModal: TimesheetPrintoutConfigModalComponent;\n //@ViewChild(EmployeeModalComponent) employeeModal: EmployeeModalComponent;\n private path: string;\n public employees: Employee[];\n public editedItemId: number = undefined;\n\n private isFromExternalIssues = false;\n\n\n private isEditable: boolean;\n private isRemovable: boolean;\n private isAdd: boolean;\n private canGeneratePrintout: boolean = false;\n\n private hideToggles: boolean;\n private expanded: boolean;\n\n private headers = [\n { displayName: 'Pracownik', propertyName: 'fullName', propertyType: 'string' },\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Telefon', propertyName: 'phone', propertyType: 'string' },\n { displayName: 'Kod', propertyName: 'code', propertyType: 'string' },\n { displayName: 'Aktywny', propertyName: 'isActive', propertyType: 'bool' }\n ];\n\n private gridMenuButtons: MenuButton[] = [\n { text: 'Generuj listy obecności', class: 'btn-info', icon: '', onClick: () => { this.generateTimesheetsForEmployees(); }, enabled: false, isForSelected: true }\n ];\n\n selectedCustomer: any;\n mainFilter: GridMainFilter[];\n customerRows: ObjectToSelect[];\n private isRestoredMainFilter: boolean = false;\n public initialFilters: any;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn;\n public previousMainFilters: any;\n public detailsPath: string;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private employeesRest: EmployeesRest,\n private permissionService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private loginRest: LoginRest\n ) {\n super();\n this.onResize();\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 769) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.mainFilter = new Array();\n this.processDialogConfig();\n if (this.isFromExternalIssues) {\n this.path = 'api/issueexternal/employees/grid';\n var claimType = 'IssueExt';\n } else {\n this.path = 'api/employees/grid';\n var claimType = 'Employee';\n this.getCustomerRows();\n }\n\n this.selectionMode = this.selectionMode === SelectionMode.none ? SelectionMode.none : this.selectionMode;\n\n this.setPermissions(claimType);\n\n this.loginRest.GetLoggedUser().subscribe(user => {\n if (user.role === 'Administratorzy') {\n this.canGeneratePrintout = true;\n\n this.gridMenuButtons.find(x => x.text === 'Generuj listy obecności').enabled = true;\n this.selectionMode = SelectionMode.multi;\n }\n });\n\n this.isEditable = !this.dialogConfigData && this.permissions.canShow;//this.selectionMode === SelectionMode.none && this.permissions.canShow;\n this.isRemovable = !this.dialogConfigData && this.permissions.canDelete;//this.selectionMode === SelectionMode.none && this.permissions.canDelete;\n this.isAdd = !this.dialogConfigData && this.permissions.canAdd;//this.selectionMode === SelectionMode.none && this.permissions.canAdd;\n\n if (!this.dialogConfigData) {\n this.isRestoredMainFilter = this.tryRestoreFiltersAndPage();\n }\n }\n\n ngAfterViewInit() {\n this._grid = this.grid;\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n private processDialogConfig() {\n if (!this.dialogConfigData) {\n return;\n }\n if (this.dialogConfigData['isFromExternalIssues']) {\n this.isFromExternalIssues = this.dialogConfigData['isFromExternalIssues'];\n }\n if (this.dialogConfigData['customerId']) {\n this.selectedCustomer = this.dialogConfigData['customerId'];\n let customerCode = this.dialogConfigData['customerCode'];\n let objectToSelect = new ObjectToSelect();\n objectToSelect.id = this.selectedCustomer;\n objectToSelect.name = customerCode;\n this.customerRows = new Array();\n this.customerRows.push(objectToSelect);\n this.mainFilter.push({ internalName: 'CustomerId', value: this.selectedCustomer.toString() });\n }\n }\n\n private addEmployee() {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['../employees/employee', 'new'], { queryParams: { employeeId: 0 }, relativeTo: this.route });\n }\n\n private onRowEdit(row: Employee) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['../employees/employee', row.fullName !== \" \" ? row.fullName : row.code], { queryParams: { employeeId: row.id }, relativeTo: this.route });\n }\n\n private onRowDelete(row: Employee) {\n let buttons = {\n yes: { text: \"Tak\", value: \"yes\" },\n no: { text: \"Nie\", value: \"no\" }\n }\n\n let message = `Czy na pewno usunąć pracownika ${row.name} ${row.surname}`;\n sweetAlert(message, {\n buttons: buttons\n }).then((value) => {\n switch (value) {\n case \"yes\":\n const action = this.employeesRest.removeEmployee;\n action.call(this.employeesRest, row.id).subscribe((result: string) => {\n if (result) {\n sweetAlert({ text: `Usunięto pracownika` });\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n\n public onSuccessOperation(value) {\n if (value.isSuccess) {\n sweetAlert({ text: value.isNew ? `Dodano pracownika.` : `Zapisano pracownika.` });\n this.editedItemId = value.employee.id;\n }\n this.grid.refreshData(false);\n }\n\n public filter() {\n this.clearFilter('CustomerId');\n if (this.selectedCustomer) {\n this.setFilter('CustomerId', this.selectedCustomer.toString());\n }\n\n this.clearFilter('ShowInactive');\n if (this.showInactive) {\n this.setFilter('ShowInactive', this.showInactive.toString());\n }\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n private clearFilter(internalName: string) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n }\n\n public clearFilters() {\n this.selectedCustomer = undefined;\n this.clearFilter('CustomerId');\n\n this.showInactive = undefined;\n this.clearFilter('ShowInactive');\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n private setFilter(internalName: string, filterValue: string) {\n if (this.mainFilter != null) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n\n if (filterValue !== undefined) {\n this.mainFilter.push({ internalName: internalName, value: filterValue });\n }\n\n this.grid.mainFilter = this.mainFilter;\n }\n }\n\n private getCustomerRows() {\n const action = this.employeesRest.getCustomerRows;\n\n action.call(this.employeesRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.customerRows = result;\n }\n });\n }\n\n private setFiltersFromRestoredData() {\n const selectedCustomer = this.findFilter('CustomerId');\n this.selectedCustomer = selectedCustomer != null ? parseInt(selectedCustomer) : null;\n\n const showInactive = this.findFilter('ShowInactive');\n if (showInactive != null && showInactive === 'true') {\n this.showInactive = true;\n } else if (showInactive != null && showInactive === 'false') {\n this.showInactive = false;\n } else {\n this.showInactive = this.showInactive;\n }\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n\n private tryRestoreFiltersAndPage(): boolean {\n let previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(\"employees\", false);\n if (!previousGridParams) {\n return false;\n }\n // console.log('previousGridParams:', previousGridParams);\n\n this.initialFilters = previousGridParams.initialFilters;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n this.previousMainFilters = previousGridParams.previousMainFilters;\n\n return true;\n }\n\n private generateTimesheetsForEmployees() {\n var selectedItems = this.grid.getSelectedItems();\n var employeeIds = selectedItems.map(employee => employee.id as number);\n this.printoutConfigModal.setModel(employeeIds);\n }\n\n}\n","module.exports = \" \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź miesiąc. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź rok. \\n \\n \\n
\\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { ModalComponent } from '../../../../core/shared/modal/modal.component';\nimport { NgForm } from '@angular/forms';\nimport { PrintoutService } from '../../../../core/services/printout/printout-service.service';\n\n@Component({\n selector: 'app-timesheet-printout-config-modal',\n templateUrl: './timesheet-printout-config-modal.component.html'\n})\nexport class TimesheetPrintoutConfigModalComponent implements OnInit {\n\n public month: number;\n public year: number;\n public title: string = 'Parametry wydruku';\n\n private procedureName = 'Supremo.Pdf_EmployeeTimesheet';\n private employeeIds: number[] = [];\n\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @ViewChild('printoutConfigForm') printoutConfigForm: NgForm;\n\n constructor(\n private pdfService: PrintoutService\n ) { }\n\n ngOnInit() {\n this.month = new Date().getMonth() + 1;\n this.year = new Date().getFullYear();\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public setModel(employeeIds: number[]) {\n this.employeeIds = employeeIds;\n this.modal.openWithCustomSize({ maxwidth: '200px' });\n }\n\n private generatePrintout() {\n if (this.employeeIds.length > 0) {\n var employeeIdsJson = JSON.stringify(this.employeeIds);\n var params = { '@Month': this.month, '@Year': this.year, '@EmployeeIdsJson': employeeIdsJson };\n this.pdfService.makePdfFromProcedure(this.procedureName, params);\n this.closeModal();\n }\n }\n}\n","module.exports = \" \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź imię. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź nazwisko. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź email. \\n Niepoprawny format email. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź kod. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Nieprawidłowe znaki. \\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
\"","module.exports = \".exclamation-col {\\n display: flex; }\\n\\n.exclamation-warning::before {\\n margin: 0;\\n position: absolute;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n color: red;\\n padding-left: 10px;\\n top: 50%; }\\n\\n.form-check {\\n width: 15px; }\\n\\n.employee-modal-body-content {\\n margin-left: 20px;\\n margin-right: 20px; }\\n\\n.employee-modal-form-row {\\n margin-left: -15px;\\n margin-right: -15px; }\\n\"","import { Component, OnInit, EventEmitter, ViewChild, Output, HostListener } from '@angular/core';\nimport { Employee } from '../employee.model';\nimport { EmployeesRest } from '../employee.rest';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from \"../../../core/services/permissions/permissions.service\";\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { NgForm } from '@angular/forms';\n@Component({\n selector: 'app-employee-modal',\n templateUrl: './employee-modal.component.html',\n styleUrls: ['./employee-modal.component.scss']\n})\nexport class EmployeeModalComponent implements OnInit, HasPermissions {\n\n permissions: Permissions;\n\n public employee: Employee;\n private isNew: boolean;\n private enabled: boolean;\n private isSaving = false;\n constructor(\n private rest: EmployeesRest,\n private permissionService: PermissionsService\n ) { }\n\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @ViewChild('employeeForm') employeeForm: NgForm;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.employeeForm.valid) {\n this.saveEmployee();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n }\n\n setPermissions(claimType: string){\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public setModel(employee: Employee, isNew: boolean) {\n this.setPermissions(\"Employee\");\n this.isNew = isNew;\n if (isNew) {\n this.modal.title = 'Dodaj pracownika';\n this.enabled = this.permissions.canAdd;\n } else {\n this.modal.title = 'Edytuj pracownika';\n this.enabled = this.permissions.canEdit;\n }\n this.employee = Object.assign({}, employee);\n\n if (isNew) {\n this.employee.isActive = true;\n }\n\n this.modal.openWithCustomSize({ maxwidth: '35vw' });\n }\n\n private saveEmployee() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n const action = this.rest.saveEmployee;\n action.call(this.rest, this.employee, this.isNew).subscribe((employee: Employee) => {\n const emmitData = { isSuccess: true, isNew: this.isNew, employee: employee };\n this.isSaving = false;\n this.modal.close();\n this.onSuccess.emit(emmitData);\n });\n }\n}\n","import { CustomerEmployee } from \"../customers/customers.model\";\nimport { NotificationForEmployee } from \"../../absences/absences.model\";\n\nexport class Employee {\n id: number;\n isForeignEmployee: boolean;\n name: string;\n surname: string;\n fullName: string;\n email: string;\n phone: string;\n objectTypeId: number;\n code: string;\n isActive: boolean;\n customers: CustomerEmployee[];\n notificationEmployees: NotificationEmployee[];\n emailSignature?: string;\n}\n\nexport class NotificationEmployee extends NotificationForEmployee {\n employeeId: number;\n constructor(employeeId: number) {\n super();\n this.employeeId = employeeId\n }\n}","import { Injectable } from '@angular/core';\nimport { RestService } from '../../core/core/rest.service';\nimport { Employee, NotificationEmployee } from './employee.model';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\n\n@Injectable()\nexport class EmployeesRest {\n constructor(private http: RestService) { }\n\n\n public removeEmployee(id: number) {\n return this.http.post(`api/employees/delete/${id}`, {});\n }\n\n public saveEmployee(employee: Employee, isNew: boolean) {\n return this.http.post(`api/employees/save/${isNew}`, employee);\n }\n\n public getEmployee(id: number) {\n return this.http.get(`api/employees/get/${id}`);\n }\n\n public getCustomerRows() {\n return this.http.get('api/employees/customers');\n }\n\n public addCustomerEmployee(customerId: number, employeeId: number) {\n return this.http.post(`api/employees/addCustomerEmployee/${employeeId}/${customerId}`, {});\n }\n\n public removeCustomerEmployee(customerEmployeeId: number) {\n return this.http.post(`api/customer/removeCustomerEmployee/${customerEmployeeId}`, {});\n }\n\n public getAvailableSupervisors(employeeId: number) {\n return this.http.get(`api/employees/getAvailableSupervisors/${employeeId}`);\n }\n\n public removeNotificationEmployee(notificationEmployeeId: number) {\n return this.http.post(`api/employees/removeNotificationEmployee/${notificationEmployeeId}`, {});\n }\n\n public addNotificationEmployee(notificationEmployeeId: number, employeeId: number){\n return this.http.post(`api/employees/addNotificationEmployee/${employeeId}/${notificationEmployeeId}`, {});\n }\n\n public getEmployeeRows(){\n return this.http.get('api/employees/employeeRows');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EmployeesListRouting } from './employess.routing';\nimport { EmployeesListComponent } from './employee-list/employees-list.component';\nimport { EmployeesRest } from './employee.rest';\nimport { SharedModule } from '../../core/shared/shared.module';\nimport { TimesheetPrintoutConfigModalComponent } from './employee-list/timesheet-printout-config-modal/timesheet-printout-config-modal.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EmployeesListRouting,\n SharedModule\n ],\n declarations: [\n EmployeesListComponent,\n TimesheetPrintoutConfigModalComponent\n ],\n providers: [EmployeesRest]\n})\nexport class EmployeesModule { }","import { Routes, RouterModule } from '@angular/router';\nimport { EmployeesListComponent } from './employee-list/employees-list.component';\nimport { EmployeeDetailsModule } from './employee-details/employee-details.module';\n\n\nconst routes: Routes = [\n { path: '', component: EmployeesListComponent },\n { path: 'employee', loadChildren: () => EmployeeDetailsModule }\n];\n\nexport const EmployeesListRouting = RouterModule.forChild(routes);\n","module.exports = \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Główne
\\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
ObiektPodglądEdycjaDodawanieUsuwanie
{{claim.name}}\\n \\n \\n \\n \\n
\\n
\\n
\\n \\n \\n \\n
Inne
\\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
Element menuDostępny\\n \\n
{{element.name}}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \".roledetails-panel-title {\\n position: absolute; }\\n\\n.breadcrumb {\\n background: transparent !important; }\\n\\n.page-header {\\n padding-bottom: 7px;\\n padding-top: 0; }\\n\\n.table thead th {\\n vertical-align: middle !important; }\\n\"","import { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { RoleClaim, Role } from './role-details.model';\nimport { RoleDetailsRest } from './role-details.rest';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { UserSelectionComponent } from '../user-selection/user-selection.component';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\n\n@Component({\n selector: 'app-role-details',\n templateUrl: './role-details.component.html',\n styleUrls: ['./role-details.component.scss']\n})\nexport class RoleDetailsComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n\n private menuButtons: MenuButton[]= [\n {text: 'COMMONBUTTONS_save', class: 'btn-success', icon: '', onClick: () => { this.saveRole(); }, enabled: true, isForSelected: false },\n {text: 'COMMONBUTTONS_close', class: 'btn-danger', icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveRole(); }, enabled: true, isForSelected: false };\n\n private claimsMenuButtons: MenuButton[] = [\n { text: 'Zaznacz/odznacz wszystko', class: \"switch\", icon: '', onClick: () => { this.selectUnselectAllClaimsChanged() }, enabled: true, isForSelected: false }\n ];\n \n private navigateMenuButtons: MenuButton[] = [\n { text: 'Zaznacz/odznacz wszystko', class: \"switch\", icon: '', onClick: () => { this.selectUnselectAllNavigationChanged() }, enabled: true, isForSelected: false }\n ];\n\n private headers = [\n { displayName: 'Użytkownik', propertyName: 'name', propertyType: 'string'},\n { displayName: 'Imię', propertyName: 'firstName', propertyType: 'string' },\n { displayName: 'Nazwisko', propertyName: 'lastName', propertyType: 'string' },\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Przełożony', propertyName: 'superior', propertyType: 'string' },\n ];\n\n private role: Role = new Role();\n private path: string;\n private isSaving = false;\n private selectUnselectAllClaims = false;\n private selectUnselectAllNavigation = false;\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(UserSelectionComponent)public userSelectionModal: UserSelectionComponent;\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.userSelectionModal != null && this.userSelectionModal.modal.modalRoot.isShown === true) {\n return;\n }\n this.saveRole();\n event.preventDefault();\n }\n\n ngOnInit(): void {\n this.setPermissions('Role');\n this.path = `api/roles/role/${this.route.snapshot.params['RoleName']}/users/grid`;\n this.rest.getRoleDetails(this.route.snapshot.params['RoleName']).subscribe(result => {\n this.role = result;\n });\n }\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: RoleDetailsRest,\n private permissionService: PermissionsService\n ) {}\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n return;\n }\n\n private getActionButtons() {\n return [];\n }\n\n public addUser() {\n const action = this.rest.getUsersToAdd;\n action.call(this.rest, this.role.roleName).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n let roleName = this.role.roleName;\n if(!roleName)\n return;\n this.userSelectionModal.roleName = roleName;\n this.userSelectionModal.selectUser(result);\n }\n });\n }\n\n private close() {\n this.router.navigate(['../../'], { relativeTo: this.route });\n }\n\n private selectUnselectAllClaimsChanged() {\n if (this.selectUnselectAllClaims) {\n this.role.roleClaims.forEach(claim => {\n claim.canAdd = false;\n claim.canEdit = false;\n claim.canDelete = false;\n claim.canShow = false;\n this.selectUnselectAllClaims = false;\n });\n } else {\n this.role.roleClaims.forEach(claim => {\n claim.canAdd = true;\n claim.canEdit = true;\n claim.canDelete = true;\n claim.canShow = true;\n this.selectUnselectAllClaims = true;\n });\n }\n }\n\n private selectUnselectAllNavigationChanged() {\n if (this.selectUnselectAllNavigation) {\n this.role.navigationElements.forEach(navigationElement => {\n navigationElement.isVisible = false;\n this.selectUnselectAllNavigation = false;\n });\n } else {\n this.role.navigationElements.forEach(navigationElement => {\n navigationElement.isVisible = true;\n this.selectUnselectAllNavigation = true;\n });\n }\n }\n\n public saveRole() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n const action = this.rest.saveRole;\n action.call(this.rest, this.role).subscribe(() => {\n this.isSaving = false;\n this.close();\n });\n }\n\n public onSuccessOperation(value){\n if (value.isSuccess) {\n this.grid.refreshData();\n }\n }\n}\n","import { User } from \"../../users/users.model\";\n\nexport class RoleClaim {\n namespaceEntry: string;\n name: string;\n canAdd: boolean;\n canShow: boolean;\n canEdit: boolean;\n canDelete: boolean;\n}\n\nexport class RoleNavigationElement {\n id: number;\n name: string;\n isVisible: boolean;\n parentId: number;\n childElements: RoleNavigationElement[];\n}\n\nexport class Role {\n guid: string;\n roleName: string;\n roleClaims: RoleClaim[];\n navigationElements: RoleNavigationElement[];\n hasBudgetPermission: boolean;\n hasAllWorklogsPermission: boolean;\n hasIssuesNotAssignedPermission: boolean;\n hasIsToTfsPermission: boolean;\n hasCustomerBlockingPermission: boolean;\n hasExtIssuesRcpReportPermission: boolean;\n hasExtIssuesRcpReportForeignPayerPermission: boolean;\n}","import { NgModule } from \"@angular/core\";\nimport { RoleDetailsComponent } from \"./role-details.component\";\nimport { SharedModule } from \"../../../core/shared/shared.module\";\nimport { roleDetailsRouting } from \"./role-details.routing\";\nimport { RoleDetailsRest } from \"./role-details.rest\";\nimport { UserSelectionComponent } from '../user-selection/user-selection.component';\n\n@NgModule({\n declarations: [\n RoleDetailsComponent,\n UserSelectionComponent\n ],\n imports: [SharedModule, roleDetailsRouting],\n exports: [UserSelectionComponent],\n providers: [RoleDetailsRest]\n })\n export class RoleDetailsModule { }","import { RestService } from \"../../../core/core/rest.service\";\nimport { Role } from \"./role-details.model\";\nimport { Injectable } from \"@angular/core\";\nimport { User } from \"../../users/users.model\";\nimport { ObjectToSelect } from \"../../../core/shared/objectToSelect.model\";\n\n@Injectable()\nexport class RoleDetailsRest{\n constructor(private http: RestService) { }\n \n public getRoleDetails(name: string) {\n return this.http.post(`api/roles/role/${name}`, {});\n } \n\n public removeUserFromRole(user: User, roleId: string) {\n return this.http.post(`api/roles/role/removeuser/${roleId}`, user);\n }\n\n public saveRole(role: Role) {\n return this.http.post('api/roles/role/save', role);\n }\n\n public getUsersToAdd(roleId: string) {\n return this.http.get(`api/roles/role/getUsersToAdd/${roleId}`);\n }\n\n public checkUserCurrentRole(userId: string) {\n return this.http.get(`api/roles/role/checkUserCurrentRole/${userId}`);\n }\n\n public assignUserToRole(roleName: string, userId: string) {\n return this.http.post(`api/roles/role/assignUserToRole/${roleName}/${userId}`, {});\n }\n\n public createNewRole(roleName: string){\n return this.http.post(`api/roles/role/new`, roleName);\n }\n\n public deleteRole(roleName: string){\n return this.http.post(`api/roles/role/delete`, roleName);\n }\n}","import { Routes, RouterModule } from \"@angular/router\";\nimport { RoleDetailsComponent } from \"../role-details/role-details.component\";\nimport { UserSelectionComponent } from '../user-selection/user-selection.component';\n\n\nconst routes: Routes = [\n { path: ':RoleName', component: RoleDetailsComponent },\n { path: 'selectUser', loadChildren: () => UserSelectionComponent }\n ];\n\n export const roleDetailsRouting = RouterModule.forChild(routes);","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź nazwę. \\n \\n \\n
\\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener } from '@angular/core';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { NgForm } from '@angular/forms';\nimport { RoleDetailsRest } from '../role-details/role-details.rest';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'role-modal-add',\n templateUrl: './role-modal-add.component.html'\n})\nexport class RoleModalComponent implements OnInit {\n private isSaving = false;\n public roleName: string;\n\n @ViewChild('roleForm') roleForm: NgForm;\n\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n constructor(\n private rest: RoleDetailsRest,\n private permissionService: PermissionsService) {\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.roleForm.valid) {\n this.confirm();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.modal.title = 'Dodaj nową rolę';\n }\n\n openForAdd() {\n this.modal.openWithCustomSize({ height: '25vh' });\n }\n \n public confirm() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n this.rest.createNewRole(this.roleName).subscribe((result: string) => {\n if(result){\n this.isSaving = false;\n this.closeModal();\n this.onSuccess.emit(result);\n }\n });\n }\n\n public closeModal() {\n this.modal.close();\n }\n}\n","module.exports = \"
\\n \\n
\\n
\\n \\n
\\n
\\n \\n {{ successMessage }}\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n \"","module.exports = \"\"","import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { RoleModalComponent } from '../role-modal-add/role-modal-add.component';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { RoleDetailsRest } from '../role-details/role-details.rest';\n@Component({\n selector: 'app-roles-list',\n templateUrl: './roles-list.component.html',\n styleUrls: ['./roles-list.component.scss']\n })\n export class RolesListComponent implements OnInit, HasPermissions, AfterViewInit {\n permissions: Permissions;\n\n private path: string;\n public viewEnable = true;\n\n private headers = [\n { displayName: 'Rola', propertyName: 'roleName', propertyType: 'string' },\n ];\n\n @ViewChild(RoleModalComponent) modalRoleComponent: RoleModalComponent;\n @ViewChild(GridComponent) grid: GridComponent;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private permissionService: PermissionsService,\n private spinnerService: SpinnerService,\n private rest: RoleDetailsRest\n ) {}\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.path = 'api/roles/grid';\n this.setPermissions('Role');\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n private getActionButtons() {\n return [];\n }\n\n private onRowEdit(row: any) {\n this.router.navigate(['role', row.roleName], { relativeTo: this.route });\n }\n\n private onRowAdd() {\n this.modalRoleComponent.openForAdd();\n }\n\n private onRowDelete(row: any) {\n sweetAlert('Czy usunąć rolę?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.rest.deleteRole(row.roleName).subscribe((result: string) => {\n if (result) {\n sweetAlert('Usunięto rolę ' + row.roleName);\n this.grid.refreshData();\n }\n });\n break;\n }\n });\n\n }\n\n private onSuccesModal(event: any) {\n sweetAlert('Dodano nową rolę');\n //console.log(event);\n this.grid.selectedItemId = event;\n this.grid.refreshData();\n }\n }\n","import { RolesListComponent } from './roles-list.component';\nimport { CommonModule } from '@angular/common';\nimport { rolesListRouting } from './roles-list.routing';\nimport { SharedModule } from '../../../core/shared/shared.module';\nimport { NgModule } from '@angular/core';\nimport { LoginRest } from '../../../login/login.rest';\nimport { RoleDetailsModule } from '../role-details/role-details.module';\nimport { RoleModalComponent } from '../role-modal-add/role-modal-add.component';\n\n@NgModule({\n imports: [\n CommonModule,\n rolesListRouting,\n SharedModule,\n RoleDetailsModule\n ], \n declarations: [RolesListComponent, RoleModalComponent],\n exports: [],\n providers : [LoginRest]\n })\n export class RolesListModule { }","import { RolesListComponent } from \"./roles-list.component\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { RoleDetailsModule } from \"../role-details/role-details.module\";\n\nconst routes: Routes = [\n { path: '', component: RolesListComponent },\n { path: 'role', loadChildren: () => RoleDetailsModule }\n ];\n\n export const rolesListRouting = RouterModule.forChild(routes);","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener } from '@angular/core';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { NgForm } from '@angular/forms';\nimport { RoleDetailsRest } from '../role-details/role-details.rest';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'app-user-selection',\n templateUrl: './user-selection.component.html'\n})\nexport class UserSelectionComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n public users: ObjectToSelect[];\n public user: ObjectToSelect;\n public roleName: string;\n private currentUserRoleName: string;\n private isSaving = false;\n\n @ViewChild('userSelectionForm') userSelectionForm: NgForm;\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n constructor(private rest: RoleDetailsRest,\n private permissionService: PermissionsService) {\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.userSelectionForm.valid) {\n this.confirm();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.setPermissions(\"Role\");\n this.modal.title = 'Dodaj użytkownika do roli';\n this.user = new ObjectToSelect();\n }\n\n public selectUser(users: ObjectToSelect[]) {\n this.users = users;\n this.modal.openWithCustomSize({ height: '25vh' });\n }\n\n public confirm() {\n if (this.isSaving) {\n return;\n }\n const action = this.rest.checkUserCurrentRole;\n action.call(this.rest, this.user.guid).subscribe((result: string) => {\n\n this.currentUserRoleName = result;\n let message = '';\n\n if (this.currentUserRoleName != '') {\n message = `Użytkownik jest przypisany do roli ${this.currentUserRoleName}. Czy na pewno zmienić jego rolę na ${this.roleName}?`;\n }\n else {\n message = `Czy na pewno przypisać użytkownika do roli ${this.roleName}?`;\n }\n\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.assignUserToRole();\n break;\n }\n });\n });\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n private assignUserToRole() {\n this.isSaving = true;\n const action = this.rest.assignUserToRole;\n let emmitData = { isSuccess: true };\n action.call(this.rest, this.roleName, this.user.guid).subscribe(() => {\n this.isSaving = false;\n this.modal.close();\n this.onSuccess.emit(emmitData);\n });\n }\n}","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StructureUserEventsService {\n private selectUserRoleElementSource = new Subject();\n\n public selectUserRoleElement$ = this.selectUserRoleElementSource.asObservable();\n\n public announceSelectClick(selectedElementId: any) {\n this.selectUserRoleElementSource.next(selectedElementId);\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { TreelistComponent } from '../../../core/shared/treelist/treelist.component';\nimport { StructureUserEventsService } from '../structure-user-events.service';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'app-structure-user-roles',\n templateUrl: './structure-user-roles.component.html',\n styleUrls: ['./structure-user-roles.component.css']\n})\nexport class StructureUserRolesComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n @ViewChild(TreelistComponent) grid: TreelistComponent;\n\n public apiPath = 'api/user/roles';\n\n constructor(\n private eventsService: StructureUserEventsService,\n private permissionService: PermissionsService\n ) { }\n\n ngOnInit() {\n this.setPermissions(\"Role\");\n }\n\n private onElementSelected(id: any) {\n this.eventsService.announceSelectClick(id);\n }\n\n}\n","module.exports = \"\"","module.exports = \"\\n\\n\\n\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\"","import { Component, OnInit } from '@angular/core';\n\n\n\n@Component({\n selector: 'app-structure-users-root',\n templateUrl: './structure-users-root.component.html',\n styleUrls: ['./structure-users-root.component.css']\n})\nexport class StructureUsersRootComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Routes, RouterModule } from \"@angular/router\";\nimport { StructureUsersRootComponent } from \"./structure-users-root.component\";\n\nconst routes: Routes = [\n { path: '', component: StructureUsersRootComponent },\n ];\n\n export const structureUsersRootRouting = RouterModule.forChild(routes);","import { CustomButton } from \"../../core/shared/grid/grid.model\";\n\nexport class StructureUserRole {\n guid: string;\n name: string;\n}\n\nexport class StructureUser {\n id: string;\n firstName: string;\n lastName: string;\n email: string;\n roleId: string;\n role: string;\n superiorId: string;\n superior: string;\n name: string;\n password: string;\n repeatedPassword: string;\n isActive: boolean;\n // fullName: string;\n}\n\nexport class ResetPasswordButton implements CustomButton {\n\n getButtonClass(row: any): {} {\n return \"btn btn-primary pull-right btn-sm\";\n } \n hasIcon: boolean = true;\n displayName: string = '';\n getIconClass(row: any): {} {\n return \"ace-icon fa fa-key icon-only\";\n }\n actionName: string = 'onResetPassword';\n isDisabled(row: any): boolean {\n return false;\n }\n isVisible(row: any): boolean {\n return true;\n }\n getTooltipText(row: any): string {\n return \"Reset user password\";\n }\n}\n\nexport class ReactivateUserButton implements CustomButton {\n\n getButtonClass(row: any): {} {\n return \"btn btn-success pull-right btn-sm\";\n } \n hasIcon: boolean = true;\n displayName: string = '';\n getIconClass(row: any): {} {\n return \"ace-icon fa fa-id-badge icon-only\";\n }\n actionName: string = 'onReactivateUser';\n isDisabled(row: any): boolean {\n return row.isActive === 'True';\n }\n isVisible(row: any): boolean { \n return row.isActive === 'False';\n }\n getTooltipText(row: any): string {\n return \"Reactivate user\"\n }\n}\n\nexport class DeactivateUserButton implements CustomButton {\n\n getButtonClass(row: any): {} {\n return \"btn btn-danger pull-right btn-sm\";\n } \n hasIcon: boolean = true;\n displayName: string = '';\n getIconClass(row: any): {} {\n return \"ace-icon fa fa-id-badge icon-only\";\n }\n actionName: string = 'onDeactivateUser';\n isDisabled(row: any): boolean {\n return row.isActive === 'False';\n }\n isVisible(row: any): boolean { \n return row.isActive === 'True';\n }\n getTooltipText(row: any): string {\n return \"Deactivate user\"\n }\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { StructureUserRolesComponent } from './structure-user-roles/structure-user-roles.component';\nimport { UserComponent } from './user/user.component';\nimport { SharedModule } from '../../core/shared/shared.module';\nimport { StructureUsersComponent } from './structure-users/structure-users.component';\nimport { StructureUsersRootComponent } from './structure-users-root/structure-users-root.component';\nimport { structureUsersRootRouting } from './structure-users-root/structure-users-root.routing';\nimport { UsersRest } from './structure-users.rest';\n\n@NgModule({\n imports: [\n CommonModule,\n structureUsersRootRouting,\n SharedModule\n ],\n exports:[],\n declarations: [StructureUserRolesComponent, UserComponent, StructureUsersComponent, StructureUsersRootComponent],\n providers: [UsersRest]\n})\nexport class StructureUsersModule { }\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../core/core/rest.service';\nimport { StructureUserRole, StructureUser } from './structure-users.model';\n\n\n\n@Injectable()\nexport class UsersRest{\n constructor(\n private http: RestService\n ){}\n\n public addUser(user: StructureUser){\n return this.http.post('api/user/add', user);\n }\n\n public editUser(user: StructureUser){\n return this.http.post('api/user/edit', user);\n }\n\n public deleteUser(id: any){\n return this.http.post('api/user/deactivate', id);\n }\n\n public activateUser(id: any){\n return this.http.post('api/user/activate', id);\n }\n \n public getUserRoles() {\n return this.http.get('api/user/roles/all');\n }\n\n public getAllUsers() {\n return this.http.get('api/users/all');\n }\n\n public markPasswordChange(id: any){\n return this.http.post('api/markPasswordChange', id);\n }\n}\n","module.exports = \"\"","module.exports = \"\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n\\n\"","import { Component, OnInit, ViewChild, Input, AfterViewInit } from '@angular/core';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Subscription } from 'rxjs';\nimport { MessageBoxComponent } from '../../../core/shared/message-box.component';\nimport { Router, ActivatedRoute } from '@angular/router';\n//import { TranslateService } from 'ng2-translate';\nimport { StructureUserEventsService } from '../structure-user-events.service';\nimport { UsersRest } from '../structure-users.rest';\nimport { UserComponent } from '../user/user.component';\nimport { ResetPasswordButton, ReactivateUserButton, DeactivateUserButton } from '../structure-users.model';\nimport { LoginRest } from '../../../login/login.rest';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'app-structure-users',\n templateUrl: './structure-users.component.html',\n styleUrls: ['./structure-users.component.css']\n})\nexport class StructureUsersComponent implements OnInit, AfterViewInit, HasPermissions {\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n private roleId: string;\n\n public addOrUpdateEnable = false;\n public showSuccessMessage: boolean;\n public viewEnable = true;\n\n private toggleEnable = true;\n\n private successMessage: string;\n private path: string;\n private basePath: string;\n private messageBoxSubscription: Subscription;\n private selectSubscription: Subscription;\n private isDeleted: boolean;\n private isEditable: boolean;\n private loggedUserRole;\n private isLoggedAsAdmin: boolean;\n private additionalGridRowButtons = [];\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild(UserComponent) public userComponent: UserComponent;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private eventService: StructureUserEventsService,\n private rest: UsersRest,\n private loginRest: LoginRest,\n private spinnerService: SpinnerService,\n private permissionService: PermissionsService\n ) {\n this.selectSubscription = eventService.selectUserRoleElement$.subscribe(id => this.onSelectRole(id));\n }\n\n ngOnInit() {\n this.setPermissions(\"User\");\n this.spinnerService.show();\n this.basePath = 'api/users/grid/';\n // this.loginRest.getUserRole().subscribe(data => {\n // this.loggedUserRole = data;\n // this.addOrUpdateEnable = true;\n // });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n private headers = [\n { displayName: 'Imię', propertyName: 'firstName', propertyType: 'string' },\n { displayName: 'Nazwisko', propertyName: 'lastName', propertyType: 'string' },\n { displayName: 'Email', propertyName: 'email', propertyType: 'string' },\n { displayName: 'Przełożony', propertyName: 'superior', propertyType: 'string' },\n { displayName: 'Aktywny', propertyName: 'isActive', propertyType: 'bool' }\n ];\n\n // private getActionButtons() {\n // return [];\n // // this.additionalGridRowButtons = [];\n // // if(this.isLoggedAsAdmin){\n // // this.additionalGridRowButtons.push(new ResetPasswordButton());\n // // this.additionalGridRowButtons.push(new ReactivateUserButton());\n // // this.additionalGridRowButtons.push(new DeactivateUserButton());\n // // } \n\n // // return this.additionalGridRowButtons;\n // }\n\n // private onActivate(actionData: any) {\n // if(actionData.actionName === 'onResetPassword')\n // this.resetPassword(actionData.selectedRow);\n // else if(actionData.actionName === 'onDeactivateUser')\n // this.deactivateUser(actionData.selectedRow);\n // else if(actionData.actionName === 'onReactivateUser')\n // this.activateUser(actionData.selectedRow);\n // }\n\n private onRowEdit(row: any) {\n this.isEditable = true;\n this.userComponent.openForEdit(row);\n }\n\n private onRowDelete(row: any) { }\n\n private addUser() {\n this.userComponent.openForAdding();\n }\n\n public onSuccessOperation(isActivationMode) {\n this.grid.refreshData();\n\n if (this.isDeleted) {\n this.showMesage('USER_deleteUser');\n }\n else if (!isActivationMode && !this.isEditable) {\n this.showMesage('USER_addUser');\n }\n else {\n this.showMesage('USER_editUser');\n }\n\n this.isDeleted = false;\n this.isEditable = false;\n }\n\n private onSelectRole(id: any) {\n this.roleId = id;\n this.path = `${this.basePath}${this.roleId}`;\n this.grid.currentPage = 0;\n this.grid.refreshData();\n }\n\n showMesage(translateMessage: string) {\n this.translateService.get(translateMessage).subscribe(\n (value) => {\n this.successMessage = value;\n sweetAlert(this.successMessage);\n // this.showSuccessMessage = true;\n // setTimeout(() => this.showSuccessMessage = false, 3000);\n });\n }\n\n}\n","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n Nie prawidłowy email. \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Błędne dane. \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Błędne dane. \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Błędne dane. \\n Uzupełnij wartość. \\n Podane hasła nie są takie same\\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
\"","module.exports = \"\"","import { Component, OnInit, ViewChild, Output, Input, EventEmitter } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { UsersRest } from '../structure-users.rest';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { StructureUserRole, StructureUser } from '../structure-users.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'smp-user',\n templateUrl: './user.component.html',\n styleUrls: ['./user.component.scss']\n})\nexport class UserComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n private isEditable: boolean;\n private editMode: boolean = false;\n private isPasswordToChange: boolean = false;\n private roles: StructureUserRole[];\n private superiors: StructureUser[];\n\n public user: StructureUser = new StructureUser();\n private isPasswordDifferent: boolean = false;\n private hide: boolean = true;\n private hideOldPass: boolean;\n private hideRepeated: boolean = true;\n\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild('userForm') userForm: NgForm;\n @Output() onSuccess = new EventEmitter();\n @Input() title: string;\n @Input() selectedRoleId;\n\n constructor(\n private rest: UsersRest,\n private permissionService: PermissionsService\n ) { }\n\n ngOnInit() {\n this.setPermissions(\"User\")\n this.rest.getUserRoles().subscribe(roles => {\n this.roles = roles;\n });\n this.rest.getAllUsers().subscribe(users => {\n this.superiors = users;\n });\n }\n\n public openForAdding() {\n this.editMode = false;\n this.isPasswordToChange = false;\n this.isEditable = this.permissions.canAdd; \n this.modal.openWithCustomSize({ width: '50vh' });\n }\n\n public openForEdit(user: StructureUser) {\n this.editMode = true;\n this.user = user;\n let superior = this.superiors.find(s => `${s.lastName} ${s.firstName}` === this.user.superior); //TODO pociągnąć id przy pobieraniu użytkowników na grid ??\n if (superior != null) {\n this.user.superiorId = superior.id;\n }\n this.user.roleId = this.selectedRoleId;\n this.isPasswordToChange = false;\n this.isEditable = this.permissions.canEdit;\n this.modal.open();\n }\n\n public openForPassword() {\n this.editMode = false;\n this.isPasswordToChange = true;\n this.isEditable = this.permissions.canEdit;\n this.modal.open();\n }\n\n public setError(controlName: string) {\n const control = this.userForm.controls[controlName];\n return { 'has-error': control.dirty && !control.valid };\n }\n\n public getDisabledStatus() {\n if (!this.userForm)\n return;\n if (this.editMode) {\n return !this.isEditable || !this.userForm.valid;\n } else {\n return !this.isEditable || !this.userForm.valid || !this.userForm.dirty;\n }\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public saveUser() {\n if (this.editMode === false && this.user.password !== this.user.repeatedPassword) {\n this.isPasswordDifferent = true;\n return;\n }\n this.isPasswordDifferent = false;\n\n const action = this.editMode ? this.rest.editUser : this.rest.addUser;\n action.call(this.rest, this.user).subscribe(() => {\n this.modal.close();\n this.onSuccess.emit({});\n });\n }\n\n\n}\n","module.exports = \"
\\n
Główne
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n \\n \\n Należy wybrać pracownika\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Należy wybrać serię\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Wprowadź login. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n Należy wybrać stanowisko. \\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 Uzupełnij wartość. \\n Nie prawidłowy email. \\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 Hasła są różne.\\n \\n \\n \\n \\n Wprowadż hasło. \\n Hasło musi mieć przynajmnniej 6 znaków. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n Hasła są różne.\\n \\n \\n \\n \\n Wprowadź powtórzone hasło. \\n Hasło musi mieć przynajmnniej 6 znaków. \\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
\"","import { Component, OnInit, ViewChild, Directive, Input, AfterViewInit, ElementRef } from \"../../../../../../node_modules/@angular/core\";\nimport { Router, ActivatedRoute } from \"../../../../../../node_modules/@angular/router\";\nimport { LoginRest } from \"../../../../login/login.rest\";\nimport { UserDetailsRest } from \"../user-details.rest\";\nimport { MessageBoxComponent } from '../../../../core/shared/message-box.component';\nimport { ProfilePictureService } from \"../../../../profile-picture/profile-picture.service\";\nimport { HasPermissions, Permissions } from \"../../../../core/services/permissions/permissions.model\";\nimport { PermissionsService } from \"../../../../core/services/permissions/permissions.service\";\nimport { NgForm, NgModel, NG_VALIDATORS, Validator, AbstractControl, ValidatorFn } from '@angular/forms';\nimport { User } from \"../../users.model\";\nimport { ObjectToSelect } from \"../../../../core/shared/objectToSelect.model\";\nimport { StructureUser } from \"../../../structure/structure-users.model\";\nimport { IssuesRest } from \"../../../../issues/issues.rest\";\nimport { DateInputModel } from \"../../../../core/shared/date-input/date-input.model\";\nimport { INgxSelectOption } from \"ngx-select-ex\";\nimport { stringify } from \"querystring\";\n\n@Component({\n selector: 'smp-user-header',\n templateUrl: 'user-details-header.component.html',\n styleUrls: ['../../user-details/user-details.component.scss']\n})\n\nexport class UserDetailsHeaderComponent implements OnInit, HasPermissions {\n\n permissions: Permissions;\n\n @ViewChild('valForm') public valForm: NgForm;\n public test: NgModel;\n public user: User;\n public isNew: boolean;\n\n private hide: boolean = true;\n private hideReapeted: boolean = true;\n\n private employees: ObjectToSelect[];\n private roles: ObjectToSelect[];\n private superiors: StructureUser[];\n private departments: ObjectToSelect[];\n\n public deactivateDate: DateInputModel;\n public selectedFile: string = 'Nie wybrano pliku';\n public messageBox: MessageBoxComponent;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private loginRest: LoginRest,\n private issueRest: IssuesRest,\n private rest: UserDetailsRest,\n private profilePictureService: ProfilePictureService,\n private permissionService: PermissionsService) {\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.setPermissions(\"User\");\n this.initializeDate();\n }\n\n public setModel(userDetailsModel: any, isNew: boolean, messageBox: MessageBoxComponent) {\n this.user = userDetailsModel;\n if (isNew) {\n this.user.password = '';\n this.user.repeatedPassword = '';\n }\n this.isNew = isNew;\n this.messageBox = messageBox;\n this.getEmployees();\n this.getRoles();\n\n if (this.user.deactivateDate != null) {\n this.deactivateDate.value = new Date(this.user.deactivateDate);\n }\n\n }\n\n private getEmployees() {\n this.rest.getEmployeesRows().subscribe(employees => {\n this.employees = employees;\n });\n }\n\n private getRoles() {\n this.rest.getSelectRoles().subscribe(roles => {\n this.roles = roles;\n });\n }\n\n public onFileChanged(files: any[]) {\n if (!files || !this.permissions.canEdit)\n return;\n\n var reader = new FileReader();\n if ((files[0] as File).size > 1048576) {\n this.messageBox.openMessageBox(\"Błąd\", \"Wielkość pliku nie może przekraczać 1 MB\")\n return;\n }\n reader.readAsArrayBuffer(files[0]);\n reader.onload = () => {\n let binaryString = ''\n let arrayBuffer = reader.result as ArrayBuffer;\n let array = new Uint8Array(arrayBuffer);\n for (var i = 0; i < array.byteLength; i++) {\n binaryString += String.fromCharCode(array[i]);\n }\n this.user.picture = window.btoa(binaryString);\n this.selectedFile = files[0].name;\n let data = { userId: this.user.id, picture: this.user.picture };\n const action = this.rest.editUserPicture;\n action.call(this.rest, data).subscribe(() => {\n this.updateProfilePicture(this.user.picture);\n sweetAlert({ text: \"Zmieniono zdjęcie profilowe użytkownika\" });\n });\n }\n }\n\n private updateProfilePicture(picture: string) {\n this.profilePictureService.changePicture(picture);\n }\n\n public isValid() {\n return this.valForm.valid;\n }\n\n public onEmployeeSelected(employeeId: number) {\n if (employeeId > 0) {\n this.rest.getEmployee(employeeId).subscribe(employee => {\n this.user.firstName = employee.name ? employee.name.trimRight() : '';\n this.user.lastName = employee.surname ? employee.surname.trimRight() : '';\n this.user.fullName = employee.fullName ? employee.fullName.trimRight() : employee.name + ' ' + employee.surname;\n this.user.email = employee.email ? employee.email.trimRight() : '';\n this.user.phoneNumber = employee.phone ? employee.phone.trimRight() : '';\n this.user.name = employee.email ? employee.email.trimRight() : '';\n this.user.isForeignEmployee = employee.isForeignEmployee;\n });\n } else {\n this.user.firstName = '';\n this.user.lastName = '';\n this.user.fullName = '';\n this.user.email = '';\n this.user.phoneNumber = null;\n this.user.name = '';\n this.user.numeratorSerie = '';\n this.user.isForeignEmployee = null;\n }\n }\n\n private initializeDate() {\n this.deactivateDate = new DateInputModel();\n this.deactivateDate.isReadOnly = true;\n this.deactivateDate.isRequired = false;\n this.deactivateDate.name = 'Czas deaktywacji';\n this.deactivateDate.value = null;\n this.deactivateDate.withTime = true;\n this.deactivateDate.internalName = 'DeactivateDate';\n }\n\n private onElementValidation(element, isValid: boolean) {\n\n if (!element) {\n return;\n }\n\n if (element.internalName === 'DeactivateDate') {\n this.user.deactivateDate = element.value;\n }\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n}\n","import { Directive, Input } from \"@angular/core\";\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidatorFn, FormGroup, ValidationErrors } from \"@angular/forms\";\n\nexport function passwordTheSaveValidator(password: any, reapeted: any): ValidatorFn {\n return (control: FormGroup): ValidationErrors | null => {\n\n const firstControl = control.get(password);\n const secondControl = control.get(reapeted);\n\n return firstControl && secondControl && firstControl.value !== secondControl.value ? { 'notTheSame': true } : null;\n };\n}\n\n\n@Directive({\nselector: '[passwordControlToCheck]',\nproviders: [{provide: NG_VALIDATORS, useExisting: NotTheSameValidatorDirective, multi: true}]\n})\nexport class NotTheSameValidatorDirective implements Validator {\n @Input('passwordControlToCheck') passwordControlToCheck: string;\n @Input('secondValue') secondValue: string;\n\n validate(control: AbstractControl): ValidationErrors | null {\n return this.passwordControlToCheck ? passwordTheSaveValidator(this.passwordControlToCheck, this.secondValue)(control)\n : null;\n }\n}\n","module.exports = \" \\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
\"","import { NgForm } from \"@angular/forms\";\nimport { OnInit, ViewChild, Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { StructureUserRole } from \"../../../structure/structure-users.model\";\nimport { UserDetailsRest } from \"../user-details.rest\";\nimport { ModalComponent } from \"../../../../core/shared/modal/modal.component\";\nimport { DateInputModel } from \"../../../../core/shared/date-input/date-input.model\";\nimport { UserPositionRow } from \"../../users.model\";\n\nconst dateFromInternalName : string = 'DateFrom';\nconst dateToInternalName : string = 'DateTo';\n\n@Component({\n selector: 'smp-user-position',\n templateUrl: 'user-details-position.component.html',\n})\n\nexport class UserDetailsPositionComponent implements OnInit {\n \n private userPosition: any = {'userRoleId': 0};\n private roles: StructureUserRole[];\n private editMode: boolean;\n @Output() onSuccess = new EventEmitter();\n @Input() private dateFrom : DateInputModel;\n @Input() private dateTo : DateInputModel;\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild('positionForm') positionForm: NgForm;\n\n constructor(\n private rest: UserDetailsRest) { }\n\n public ngOnInit() {\n this.rest.getUserRoles().subscribe(roles => {\n this.roles = roles; \n });\n }\n\n public openForAdding(userName: any) { \n this.editMode = false;\n this.userPosition = new UserPositionRow();\n var today = new Date();\n //var dd = today.getDate();\n this.userPosition.dateFrom = today;\n this.userPosition.dateTo = today;\n\n //this.modal.openWithCustomSize({'width': '400px'}); \n this.modal.title = 'Dodaj zatrudnienie';\n this.modal.open(); \n this.initData(); \n this.userPosition.userName = userName; \n }\n\n public openForEdit(userPosition: UserPositionRow) { \n this.editMode = true;\n this.userPosition = {\n id: userPosition.id,\n dateFrom: userPosition.dateFrom,\n dateTo: userPosition.dateTo,\n roleName: userPosition.roleName,\n userId: userPosition.userId,\n userRoleId: userPosition.userRoleId,\n salary: userPosition.salary\n }; \n //this.modal.openWithCustomSize({'width': '400px'});\n this.modal.title = 'Edytuj zatrudnienie';\n this.modal.open();\n this.initData();\n }\n \n public initData()\n { \n this.dateFrom = new DateInputModel();\n //this.dateFrom.isReadOnly = this.isReadOnly;\n this.dateFrom.isRequired = true;\n this.dateFrom.name = 'Od:'; \n this.dateFrom.value = new Date(this.userPosition.dateFrom); \n this.dateFrom.valueStr = this.userPosition.dateFrom; \n this.dateFrom.withTime = false;\n this.dateFrom.internalName = dateFromInternalName;\n\n this.dateTo = new DateInputModel();\n //this.dateFrom.isReadOnly = this.isReadOnly;\n this.dateTo.isRequired = true;\n this.dateTo.name = 'Do:'; \n this.dateTo.valueStr = this.userPosition.dateTo;\n this.dateTo.value = new Date(this.userPosition.dateTo);\n this.dateTo.withTime = false;\n this.dateTo.internalName = dateToInternalName;\n } \n\n public saveUserPosition() { \n const action = this.editMode ? this.rest.editUserPosition : this.rest.addUserPosition;\n action.call(this.rest, this.userPosition).subscribe(() => {\n this.modal.close(); \n this.onSuccess.emit();\n });\n }\n\n public getDisabledStatus() {\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n private onElementValidation(element, isValid: boolean) {\n\n if (!element)\n return;\n\n if (element.internalName == dateFromInternalName) { \n this.userPosition.dateFromStr = element.valueStr;\n this.userPosition.dateFrom = element.value;\n }\n else if (element.internalName == dateToInternalName) {\n this.userPosition.dateToStr = element.valueStr;\n this.userPosition.dateTo = element.value;\n } \n }\n}\n","module.exports = \"
\\n {{ successMessage | translate}}\\n
\\n\\n\"","import { OnInit, Component, ViewChild, Output, EventEmitter } from \"@angular/core\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { StructureUserRole } from \"../../../structure/structure-users.model\";\nimport { UserDetailsPositionComponent } from \"./user-details-position.component\";\nimport { Subscription } from \"rxjs\";\nimport { UserDetailsRest } from \"../user-details.rest\";\nimport { GridComponent } from \"../../../../core/shared/grid/grid.component\";\nimport { UserPositionRow } from \"../../users.model\";\nimport { HasPermissions, Permissions } from \"../../../../core/services/permissions/permissions.model\";\nimport { PermissionsService } from \"../../../../core/services/permissions/permissions.service\";\n\n@Component({\n selector: 'smp-user-positions',\n templateUrl: 'user-details-positions.component.html',\n //styleUrls: ['../rating-definition.component.scss']\n})\n\nexport class UserDetailsPositionsComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n constructor(\n private router: Router,\n private route: ActivatedRoute, private rest: UserDetailsRest,\n private permissionService: PermissionsService) {\n }\n\n public userDetailsModel: any;\n private userName: String;\n public path: String;\n private messageBoxSubscription: Subscription;\n @ViewChild(\"positionsGrid\") positionsGrid: GridComponent;\n public userDetailsPositionComponent: UserDetailsPositionComponent;\n @Output() onPositionAdd = new EventEmitter();\n\n private headers = [\n { displayName: 'Pozycja', propertyName: 'roleName', propertyType: 'string' },\n { displayName: 'Od', propertyName: 'dateFrom', propertyType: 'string' },\n { displayName: 'Do', propertyName: 'dateTo', propertyType: 'string' },\n { displayName: 'Wynagrodzenie', propertyName: 'salary', propertyType: 'number' }\n ];\n\n ngOnInit() {\n this.setPermissions(\"User\");\n if (this.route.snapshot.params['UserName'] && this.route.snapshot.params['UserName'] != '0') {\n\n this.route.params.subscribe(params => {\n this.userName = params['UserName'];\n this.path = `api/user/positions/${this.userName}`;\n });\n }\n }\n\n public setModel(userDetailsPositionComponent: UserDetailsPositionComponent) {\n this.userDetailsPositionComponent = userDetailsPositionComponent;\n }\n\n private getActionButtons() {\n return [];\n }\n\n private onRowAdd() {\n this.onPositionAdd.emit();\n }\n\n private onRowEdit(row: UserPositionRow) {\n this.userDetailsPositionComponent.openForEdit(row);\n }\n\n private onRowDelete(row: UserPositionRow) {\n\n sweetAlert(\"Czy usunąć pozycję zatrudnienia?\", {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.rest.deleteUserPosition(row.id).subscribe(() => {\n sweetAlert(\"Pozycja zatrudnienia została usunięta.\");\n this.positionsGrid.refreshAndLoadData();\n });\n\n break;\n }\n });\n }\n\n public onSuccessOperation() {\n this.positionsGrid.refreshAndLoadData();\n }\n}","module.exports = \"
\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".userdetails-panel-title {\\n position: absolute;\\n right: 50px;\\n margin-left: 100px; }\\n\\n.user-panel-title {\\n position: absolute;\\n left: 80px; }\\n\\n.form-check {\\n width: 15px; }\\n\"","import { Component, OnInit, ViewChild, AfterContentInit, AfterViewInit, HostListener } from '@angular/core';\nimport { Router, ActivatedRoute } from '../../../../../node_modules/@angular/router';\nimport { UserDetailsRest } from './user-details.rest';\nimport { MessageBoxComponent } from '../../../core/shared/message-box.component';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserDetailsHeaderComponent } from './header/user-details-header.component';\nimport { LoginRest } from '../../../login/login.rest';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { ProfilePictureService } from '../../../profile-picture/profile-picture.service';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\n\n@Component({\n selector: 'app-user-details',\n templateUrl: './user-details.component.html',\n styleUrls: ['./user-details.component.scss']\n})\n\nexport class UserDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private rest: UserDetailsRest,\n private loginRest: LoginRest,\n private profilePictureService: ProfilePictureService,\n private permissionService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService\n ) { }\n\n permissions: Permissions;\n private userName: string;\n private picture: string;\n private messageBoxSubscription: Subscription;\n private userDetailsModel: any = { 'name': '' };\n private isNew = false;\n private isSaving = false;\n\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild(UserDetailsHeaderComponent) userDetailsHeaderComponent: UserDetailsHeaderComponent;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.saveUser();\n event.preventDefault();\n }\n\n private menuButtons: MenuButton[] = [\n { text: 'USER_deactivateButton', class: 'btn-warning', icon: '', onClick: () => { this.deactivate(); }, enabled: false, isForSelected: false },\n { text: 'USER_activateButton', class: 'btn-success', icon: '', onClick: () => { this.activate(); }, enabled: false, isForSelected: false },\n { text: 'USER_resetPasswordButton', class: 'btn-primary', icon: '', onClick: () => { this.resetPassword(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_save', class: 'btn-success', icon: '', onClick: () => { this.saveUser(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: 'btn-danger', icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveUser(); }, enabled: false, isForSelected: false };\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions(\"User\");\n\n this.route.queryParams.subscribe(params => {\n if (params.userName && params.userName !== '') {\n this.isNew = false;\n this.userName = params.userName;\n this.spinnerService.show();\n this.rest.getUserDetails(this.userName).subscribe(value => {\n this.userDetailsModel = value;\n this.userDetailsHeaderComponent.setModel(this.userDetailsModel, this.isNew, this.messageBox);\n this.spinnerService.hide();\n });\n } else {\n this.spinnerService.show();\n this.isNew = true;\n this.userDetailsModel = {};\n this.userDetailsHeaderComponent.setModel(this.userDetailsModel, this.isNew, this.messageBox);\n this.picture = this.userDetailsModel.picture;\n this.spinnerService.hide();\n }\n });\n\n this.profilePictureService.currentProfilePicture.subscribe(picture => this.userDetailsModel.picture = picture);\n this.setMenuButtonsPermissions();\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n private setMenuButtonsPermissions() {\n this.menuButtons.find(b => b.text === 'USER_deactivateButton').enabled = this.permissions.canEdit === true && this.isNew === false;\n this.menuButtons.find(b => b.text === 'USER_activateButton').enabled = this.permissions.canEdit === true && this.isNew === false;\n this.menuButtons.find(b => b.text === 'USER_resetPasswordButton').enabled = this.permissions.canEdit === true && this.isNew === false;\n this.menuButtons.find(b => b.text === 'COMMONBUTTONS_save').enabled =\n (this.isNew && this.permissions.canAdd === true)\n || (!this.isNew && this.permissions.canEdit === true);\n this.saveButton.enabled = (this.isNew && this.permissions.canAdd === true)\n || (!this.isNew && this.permissions.canEdit === true);;\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void { }\n\n private deactivate() {\n const action = this.rest.deleteUser;\n\n action.call(this.rest, this.userName).subscribe(() => {\n sweetAlert({ text: 'Użytkownik został zdeaktywowany.' });\n });\n }\n\n private activate() {\n const action = this.rest.activateUser;\n\n action.call(this.rest, this.userName).subscribe(() => {\n sweetAlert({ text: 'Użytkownik został aktywowany.' });\n });\n }\n\n private resetPassword() {\n sweetAlert('Wymusić zmianę hasła użytkownika przy następnym logowaniu?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.rest.markPasswordChange(this.userName).subscribe(() => {\n sweetAlert('Hasło zostanie zresetowane przy następnym logowaniu.')\n });\n break;\n }\n });\n }\n\n private close() {\n this.router.navigate(['../../'], { relativeTo: this.route });\n }\n\n public saveUser() {\n if (!this.userDetailsHeaderComponent.isValid()) {\n sweetAlert('Należy wypełnić wszystkie wymagane pola');\n return;\n }\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n const action = this.isNew ? this.rest.addUser : this.rest.editUser;\n action.call(this.rest, this.userDetailsHeaderComponent.user).subscribe(webUser => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(webUser.id);\n }\n this.isSaving = false;\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n public onMessageBoxClose() {\n\n }\n private updateProfilePicture(picture: string) {\n this.profilePictureService.changePicture(picture);\n }\n\n private editUserPicture() {\n const action = this.rest.editUserPicture;\n let data = {\n userName: this.userDetailsModel.name,\n picture: this.picture\n };\n action.call(this.rest, data).subscribe(() => {\n this.updateProfilePicture(this.userDetailsModel.picture);\n });\n }\n\n}\n","import { SharedModule } from \"../../../core/shared/shared.module\";\nimport { userDetailsRouting } from \"./user-details.routing\";\nimport { UserDetailsRest } from \"./user-details.rest\";\nimport { NgModule } from \"@angular/core\";\nimport { UserDetailsComponent } from \"./user-details.component\";\nimport { UserDetailsHeaderComponent } from \"./header/user-details-header.component\";\nimport { UserDetailsPositionsComponent } from \"./positions/user-details-positions.component\";\nimport { UserDetailsPositionComponent } from \"./positions/user-details-position.component\";\nimport { NotTheSameValidatorDirective } from \"./password-the-same\";\nimport { IssuesRest } from \"../../../issues/issues.rest\";\n\n@NgModule({\n imports: [SharedModule, userDetailsRouting],\n exports: [UserDetailsPositionComponent],\n declarations: [\n NotTheSameValidatorDirective,\n UserDetailsComponent, UserDetailsHeaderComponent, UserDetailsPositionsComponent, UserDetailsPositionComponent],\n providers: [UserDetailsRest, IssuesRest]\n})\n\nexport class UserDetailsModule { }","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../../core/core/rest.service\";\nimport { StructureUserRole } from \"../../structure/structure-users.model\";\nimport { User, UserPositionRow } from \"../users.model\";\nimport { ObjectToSelect } from \"../../../core/shared/objectToSelect.model\";\nimport { Employee } from \"../../employees/employee.model\";\n\n@Injectable()\nexport class UserDetailsRest {\n constructor(private http: RestService) { }\n \n public getUserDetails(userName) {\n return this.http.get(`api/users/${userName}`);\n } \n\n public deleteUser(userName: string){\n return this.http.post('api/user/deactivate', userName);\n }\n\n public activateUser(id: string){\n return this.http.post('api/user/activate', id);\n }\n\n public markPasswordChange(id: string){\n return this.http.post('api/markPasswordChange', id);\n }\n\n public getUserRoles() {\n return this.http.get('api/user/roles/all');\n }\n\n public addUserPosition(userPosition:UserPositionRow)\n {\n return this.http.post('api/user/positions/add', userPosition)\n }\n\n public editUserPosition(userPosition:UserPositionRow)\n {\n return this.http.post('api/user/positions/edit', userPosition)\n }\n\n public deleteUserPosition(userPositionId:Int32Array)\n {\n return this.http.post('api/user/positions/delete', userPositionId)\n }\n\n public addUser(user: User){\n return this.http.post('api/user/add', user);\n }\n\n public editUser(user: User){\n return this.http.post('api/user/edit', user);\n }\n\n public getAllUsers() {\n return this.http.get('api/users/all');\n }\n\n public getUserRoleName(userId: string) {\n return this.http.get(`api/user/role/${userId}`);\n }\n\n public editUserPicture(userPictureData: any)\n {\n return this.http.post('api/user/picture/edit', userPictureData);\n }\n\n public getEmployeesRows() {\n return this.http.get('api/user/employees');\n }\n\n public getEmployee(employeeID: number) {\n return this.http.get(`api/employees/get/${employeeID}`);\n }\n\n public getSelectRoles() {\n return this.http.get('api/user/select/roles'); \n }\n}\n","import { UserDetailsComponent } from \"./user-details.component\";\nimport { RouterModule, Routes } from \"@angular/router\";\n\nconst routes: Routes = [\n { path: ':UserName', component: UserDetailsComponent },\n { path: 'new', component: UserDetailsComponent }\n];\n\nexport const userDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
\\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 {{ successMessage }}\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild, AfterViewInit, HostListener } from '@angular/core';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoginRest } from '../../../login/login.rest';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { UsersListRest } from './users-list.rest'\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { MessageBoxComponent } from '../../../core/shared/message-box.component';\nimport { Subscription } from 'rxjs';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { GridParamsRestorable } from '../../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { SortedColumn, GridMainFilter } from '../../../core/shared/grid/grid.model';\n\n@Component({\n selector: 'app-users-list',\n templateUrl: './users-list.component.html',\n styleUrls: ['./users-list.component.scss']\n})\nexport class UsersListComponent implements OnInit, HasPermissions, AfterViewInit, GridParamsRestorable {\n readonly detailsPath: string = \"/users/user\";\n\n private messageBoxSubscription: Subscription;\n permissions: Permissions;\n\n private showNotActive: boolean = false;\n public hideToggles: boolean;\n public expanded: boolean;\n public mainFilter: GridMainFilter[];\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n private path: string;\n private currentUser: any;\n public viewEnable = true;\n public initialFilters: any;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn;\n public editedItemId: string;\n public previousMainFilters: any = {};\n\n private headers = [\n\n { displayName: 'Imię i nazwisko', propertyName: 'fullName', propertyType: 'string' },\n { displayName: 'Login', propertyName: 'login', propertyType: 'string' },\n { displayName: 'Pracownik', propertyName: 'employee', propertyType: 'string' },\n { displayName: 'Rola', propertyName: 'role', propertyType: 'string' },\n { displayName: 'Przełożony', propertyName: 'superior', propertyType: 'string' },\n { displayName: 'Seria', propertyName: 'numeratorSerie', propertyType: 'string' },\n { displayName: 'Aktywny', propertyName: 'isActive', propertyType: 'bool' }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private loginRest: LoginRest,\n private permissionService: PermissionsService,\n private rest: UsersListRest,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService\n ) {\n this.onResize();\n }\n\n public onMessageBoxClose() {\n if (this.messageBoxSubscription) {\n this.messageBoxSubscription.unsubscribe();\n }\n }\n\n public setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n\n if (!this.permissions.canShow) {\n sweetAlert(\"Brak uprawnień.\")\n }\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.mainFilter = new Array();\n this.tryRestoreFiltersAndPage();\n this.path = 'api/users/grid';\n this.setPermissions(\"User\");\n }\n\n ngAfterViewInit() {\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n private getActionButtons() {\n return [];\n }\n\n public addUser() {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['../users/user', 'new'], {relativeTo: this.route });\n }\n\n private onRowEdit(row: any) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['../users/user', row.name], {queryParams: {userName: row.name}, relativeTo: this.route });\n }\n\n private onRowDelete(row: any) {\n let buttons = {\n yes: { text: \"Tak\", value: \"yes\" },\n no: { text: \"Nie\", value: \"no\" }\n }\n\n let message = `Czy na pewno usunąć użytkownika ${row.firstName} ${row.lastName}`;\n sweetAlert(message, {\n buttons: buttons\n }).then((value) => {\n switch (value) {\n case \"yes\":\n const action = this.rest.deleteUser;\n action.call(this.rest, row.id).subscribe((result: string) => {\n if (result) {\n sweetAlert({ text: `Usunięto użytkownika` });\n this.grid.refreshData(false);\n }\n });\n break;\n }\n });\n }\n\n private tryRestoreFiltersAndPage() {\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\n if (!previousGridParams) {\n return;\n }\n\n this.initialFilters = previousGridParams.initialFilters;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n // this.previousMainFilters = previousGridParams.previousMainFilters;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n }\n\n private setFilter(internalName: string, filterValue: any) {\n if (this.mainFilter != null) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n\n if (filterValue !== undefined) {\n this.mainFilter.push({ internalName: internalName, value: filterValue });\n }\n\n this.grid.mainFilter = this.mainFilter;\n }\n }\n\n\n public filter() {\n this.setFilter('ShowNotActive', !this.showNotActive);\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n public clearFilter() {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === 'ShowNotActive') { this.mainFilter.splice(index, 1); }\n });\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 769) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n\n private setFiltersFromRestoredData() {\n const showNotActive = this.findFilter('ShowNotActive');\n if (showNotActive != null && showNotActive === 'true') {\n this.showNotActive = false;\n } else if (showNotActive != null && showNotActive === 'false') {\n this.showNotActive = true;\n } else {\n this.showNotActive = this.showNotActive;\n }\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n } \n}\n","import { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../../core/shared/shared.module\";\nimport { NgModule } from \"@angular/core\";\nimport { usersListRouting } from \"./users-list.routing\";\nimport { UsersListComponent } from \"./users-list.component\";\nimport { UsersListRest } from \"./users-list.rest\";\nimport { LoginRest } from \"../../../login/login.rest\";\n\n@NgModule({\n imports: [\n CommonModule,\n usersListRouting,\n SharedModule,\n ], \n declarations: [UsersListComponent],\n exports: [],\n providers : [UsersListRest, LoginRest]\n })\n export class UsersListModule { }","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../../core/core/rest.service\";\nimport { User } from \"../users.model\";\n\n@Injectable()\nexport class UsersListRest {\n constructor(private http: RestService) { }\n\n public getUsers() {\n return this.http.get('api/users');\n }\n\n public deleteUser(userId: number) {\n return this.http.post(`api/user/delete/${userId}`, {});\n }\n\n}","import { UsersListComponent } from \"./users-list.component\";\nimport { UsersListModule } from \"./users-list.module\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { UserDetailsModule } from \"../user-details/user-details.module\";\n\nconst routes: Routes = [\n { path: '', component: UsersListComponent },\n { path: 'user', loadChildren: () => UserDetailsModule }, \n ];\n\n export const usersListRouting = RouterModule.forChild(routes);","export class User {\n id: string;\n firstName: string;\n lastName: string;\n fullName: string;\n email: string;\n roleId: string;\n role: string; \n superior: string;\n name: string;\n password: string;\n repeatedPassword: string;\n isActive: boolean;\n layoutThemeName: string;\n picture: string;\n phoneNumber: string;\n employeeId: number;\n numeratorSerie: string;\n employee: string;\n login: string;\n isForeignEmployee: boolean;\n department: string;\n deactivatedBy: string;\n deactivateDate: Date;\n}\n\nexport class UserPositionRow {\n id: Int32Array;\n userId: string;\n dateFrom: string;\n dateTo: string;\n salary: number;\n roleName: string;\n userRoleId: string;\n}","module.exports = \"
\\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 Wartość musi być uzupełniona. \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n\"","module.exports = \".button-add {\\n height: 35px;\\n color: #4caf50; }\\n .button-add i {\\n margin-right: 5px; }\\n .textarea-em {\\n -webkit-transform: unset;\\n transform: unset;\\n top: 5px;\\n left: -5px; }\\n\"","import { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { GridMainFilter, GridSelection, SelectionMode } from '../../core/shared/grid/grid.model';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { HolidayCalendarRest } from './holiday-calendar.rest';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoginRest } from '../../login/login.rest';\nimport { DialogService } from '../../core/shared/dialog/dialog.service';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { DateInputModel } from '../../core/shared/date-input/date-input.model';\nimport { HolidayCalendar } from './holiday-calendar.model';\nimport { NgForm } from '@angular/forms';\nimport { ModalComponent } from '../../core/shared/modal/modal.component';\n\n@Component({\n selector: 'app-holiday-calendar',\n templateUrl: './holiday-calendar.component.html',\n styleUrls: ['./holiday-calendar.component.scss']\n})\nexport class HolidayCalendarComponent extends GridSelection implements OnInit, HasPermissions {\n permissions: Permissions;\n public path: string;\n public hideToggles: boolean;\n public expanded: boolean;\n public editedItemId: any;\n\n private selectedYear: number = new Date().getFullYear();\n private selectedMonth: number = null;\n private years: number[] = [2019, 2020, 2021];\n private months: { name: string, value: number }[] = [\n { name: \"Styczeń\", value: 1 },\n { name: \"Luty\", value: 2 },\n { name: \"Marzec\", value: 3 },\n { name: \"Kwiecień\", value: 4 },\n { name: \"Maj\", value: 5 },\n { name: \"Czewiec\", value: 6 },\n { name: \"Lipiec\", value: 7 },\n { name: \"Sierpień\", value: 8 },\n { name: \"Wrzesień\", value: 9 },\n { name: \"Październik\", value: 10 },\n { name: \"Listopad\", value: 11 },\n { name: \"Grudzień\", value: 12 }];\n\n public isEditable: boolean = false;\n public isAdd: boolean = false;\n public isRemovable: boolean = false;\n\n private isRestoredMainFilterDate: boolean = false;\n private mainFilter: GridMainFilter[];\n public fromDate: DateInputModel;\n public toDate: DateInputModel;\n public addDate: DateInputModel;\n public descriptionText: string;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private loginRest: LoginRest,\n private rest: HolidayCalendarRest,\n public dialog: DialogService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private spinnerService: SpinnerService,\n private permissionService: PermissionsService) {\n\n super();\n this._grid = this.grid;\n this.onResize();\n }\n\n @ViewChild('holidayCalendarForm') holidayCalendarForm: NgForm;\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild(GridComponent) grid: GridComponent;\n\n private headers = [\n { displayName: 'Data', propertyName: 'date', propertyType: 'date' },\n { displayName: 'Nazwa', propertyName: 'description', propertyType: 'string' },\n { displayName: 'Dzień', propertyName: 'dayName', propertyType: 'string' }\n ];\n\n private gridMenuButtons: MenuButton[] = [\n { text: 'Dodaj domyślne daty dla roku', class: \"btn-success\", icon: '', onClick: () => { this.addDefaultsDatesForYear() }, enabled: true, isForSelected: false }\n ];\n\n ngOnInit() {\n this.spinnerService.show();\n this.selectionMode = SelectionMode.none;\n this.mainFilter = new Array();\n this.setUpYears();\n this.setPermissions('HolidayCalendar');\n this.setUpDates()\n this.path = `api/holidaycalendar/grid`;\n }\n\n ngAfterViewInit() {\n this._grid = this.grid;\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setUpYears() {\n var minyear = 2000;\n this.years = new Array();\n this.years.push(minyear);\n for (var i = 1; i <= 100; i++) {\n var newYear = minyear + i;\n this.years.push(newYear);\n }\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n this.isEditable = this.selectionMode === SelectionMode.none && (this.permissions.canEdit || this.permissions.canShow);\n this.isRemovable = this.selectionMode === SelectionMode.none && this.permissions.canDelete;\n this.isAdd = this.selectionMode === SelectionMode.none && this.permissions.canAdd;\n }\n\n private setUpDates() {\n this.fromDate = new DateInputModel();\n this.fromDate.isReadOnly = false;\n this.fromDate.isRequired = false;\n this.fromDate.name = 'Od:';\n this.fromDate.value = new Date();\n this.fromDate.value.setDate(1);\n this.fromDate.valueStr = this.fromDate.value.toDateString();\n this.fromDate.internalName = 'FromDate';\n\n this.toDate = new DateInputModel();\n this.toDate.isReadOnly = false;\n this.toDate.isRequired = false;\n this.toDate.name = 'Do:';\n this.toDate.value = new Date();\n this.toDate.value.setHours(23, 59, 59, 0);\n this.toDate.valueStr = this.toDate.value.toDateString();\n this.toDate.withTime = false;\n this.toDate.internalName = 'ToDate';\n //to add\n this.addDate = new DateInputModel();\n this.addDate.isReadOnly = false;\n this.addDate.isRequired = false;\n this.addDate.name = 'Do:';\n this.addDate.value = new Date();\n this.addDate.valueStr = this.toDate.value.toDateString();\n this.addDate.withTime = false;\n this.addDate.internalName = 'AddDate';\n }\n\n private setFiltersFromRestoredData() {\n if (this.grid.mainFilter != null) {\n const fromDate = this.findFilter('FromDate');\n if (fromDate != null) {\n this.fromDate.value = new Date(fromDate);\n }\n const toDate = this.findFilter('ToDate');\n if (toDate != null) {\n this.toDate.value = new Date(toDate);\n }\n }\n }\n\n private onDateValidation(date: DateInputModel, isValid: boolean) {\n if (!date) {\n return;\n }\n if (date.internalName === 'FromDate' && this.fromDate.value > this.toDate.value) {\n this.toDate.value = new Date(date.value);\n this.toDate.value.setHours(23, 59, 59, 0);\n }\n if (date.internalName === 'ToDate' && date.value < this.fromDate.value) {\n if (date.value != null) {\n this.fromDate.value = new Date(date.value);\n this.fromDate.value.setHours(0, 0, 0, 0);\n }\n }\n }\n\n addDefaultsDatesForYear() {\n this.spinnerService.show();\n this.rest.addDefaultsDatesForYear(this.selectedYear).subscribe(result => {\n if (result) {\n this.grid.refreshData(false);\n }\n this.spinnerService.hide();\n });\n }\n\n public save() {\n if (this.addDate != null) {\n this.spinnerService.show();\n this.rest.save(this.addDate.value.toJSON(), this.descriptionText).subscribe(result => {\n if (result) {\n this.closeModal();\n this.grid.refreshData(false);\n this.spinnerService.hide();\n }\n });\n }\n }\n\n public closeModal() {\n this.modal.close();\n this.descriptionText = '';\n }\n\n onRowAdd() {\n this.modal.title = \"Dodaj dzień świateczny\";\n this.modal.open();\n }\n\n onRowDelete(row: HolidayCalendar) {\n sweetAlert('Czy chcesz usunąć wpis nieobecności?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n }).then((value) => {\n switch (value) {\n case 'yes':\n this.spinnerService.show();\n this.rest.delete(row.id).subscribe(result => {\n if (result) {\n this.grid.refreshData(false);\n }\n this.spinnerService.hide();\n });\n break;\n }\n });\n }\n\n private filter() {\n this.mainFilter = new Array();\n var month = this.selectedMonth == null ? 0 : this.selectedMonth - 1;\n let fromDate = new Date(this.selectedYear, month, 1);\n let toDate = new Date(this.selectedYear, this.selectedMonth || 12, 0);\n this.setFilter('FromDate', fromDate.toJSON());\n this.setFilter('ToDate', toDate.toJSON());\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n public filterByFullDates() {\n if (this.fromDate.value != null) {\n this.setFilter('FromDate', this.fromDate.value.toJSON());\n }\n if (this.toDate.value != null) {\n this.setFilter('ToDate', this.toDate.value.toJSON());\n }\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n public clearFilter() {\n this.selectedYear = new Date().getFullYear();\n this.selectedYear = null;\n this.filter();\n }\n\n private setFilter(internalName: string, filterValue: any) {\n if (this.mainFilter != null) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n\n if (filterValue !== undefined) {\n this.mainFilter.push({ internalName: internalName, value: filterValue });\n }\n }\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 768) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n}\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { holidayCalendarRouting } from './holiday-calendar.routing';\nimport { HolidayCalendarComponent } from './holiday-calendar.component';\nimport { HolidayCalendarRest } from './holiday-calendar.rest';\nimport { LoginRest } from '../../login/login.rest';\nimport { SharedModule } from '../../core/shared/shared.module';\n\n@NgModule({\n imports: [\n CommonModule,\n holidayCalendarRouting,\n SharedModule\n ],\n declarations: [HolidayCalendarComponent],\n exports: [],\n providers: [HolidayCalendarRest, LoginRest]\n})\nexport class HolidayCalendarModule { }\n","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../core/core/rest.service\";\n\n@Injectable()\nexport class HolidayCalendarRest {\n constructor(private http: RestService) { }\n\n public delete(id: number) {\n return this.http.get(`api/holidaycalendar/delete/${id}`);\n }\n public deleteMany(holidayCalendarIds: number[]) {\n return this.http.post(`api/holidaycalendar/delete/many`, holidayCalendarIds);\n }\n\n public save(date: any, descrption: string) {\n return this.http.post(`api/holidaycalendar/save`, { dateStr: date, description: descrption });\n }\n\n public addDefaultsDatesForYear(year: number) {\n return this.http.get(`api/holidaycalendar/adddefaults/${year}`);\n }\n}","import { RouterModule, Routes } from \"@angular/router\";\nimport { HolidayCalendarComponent } from \"./holiday-calendar.component\";\n\nconst routes: Routes = [\n { path: '', component: HolidayCalendarComponent },\n];\n\nexport const holidayCalendarRouting = RouterModule.forChild(routes);","module.exports = \"
\\n \\n
\\n
\\n \\n
\\n
\\n \\n {{ successMessage }}\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild, Input, AfterViewInit } from '@angular/core';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoginRest } from '../../login/login.rest';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\n\n@Component({\n selector: 'app-object-states',\n templateUrl: './object-states.component.html',\n styleUrls: ['./object-states.component.scss']\n})\nexport class ObjectStatesComponent implements OnInit, AfterViewInit {\n @ViewChild(GridComponent) grid: GridComponent;\n private path : string;\n private currentUser: any; \n public viewEnable = true;\n\n private headers = [\n { displayName: 'Nazwa obiektu', propertyName: 'objectName', propertyType: 'string' },\n { displayName: 'Status obiektu', propertyName: 'name', propertyType: 'string' }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private translateService: TranslateService,\n private loginRest: LoginRest,\n private spinnerService: SpinnerService\n ) { }\n\n ngOnInit() {\n this.spinnerService.show();\n this.path = 'api/objectstates/grid'; \n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { NgModule } from \"@angular/core\";\nimport { objectStatesRouting } from \"./object-states.routing\";\nimport { ObjectStatesComponent } from \"./object-states.component\";\nimport { ObjectStatesRest } from \"./object-states.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\n\n@NgModule({\n imports: [\n CommonModule,\n objectStatesRouting,\n SharedModule,\n ], \n declarations: [ObjectStatesComponent],\n exports: [],\n providers : [ObjectStatesRest, LoginRest]\n })\n export class ObjectStatesModule { }","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../core/core/rest.service\";\nimport { ObjectState } from \"./object-states.model\";\n\n@Injectable()\nexport class ObjectStatesRest {\n constructor(private http: RestService) { }\n \n public getObjectStates() {\n return this.http.get('api/objectstates');\n }\n \n}","import { ObjectStatesComponent } from \"./object-states.component\";\nimport { ObjectStatesModule } from \"./object-states.module\";\nimport { RouterModule, Routes } from \"@angular/router\";\n\nconst routes: Routes = [\n { path: '', component: ObjectStatesComponent },\n ];\n\n export const objectStatesRouting = RouterModule.forChild(routes);","module.exports = \"
\\n \\n \\n \\n \\n
{{data.definitionName}}
\\n
\\n
\\n \\n \\n
\\n
\\n
\"","import { Component, OnInit, Input, AfterViewInit, ViewChild, EventEmitter, Output } from '@angular/core';\nimport { SystemVersionHeader } from '../system-versions-header.model';\nimport { SystemVersion } from '../system-version.model';\nimport { SystemVersionRest } from '../system-versions.rest';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { MessageBoxComponent } from '../../../core/shared/message-box.component';\nimport { Subscription } from 'rxjs';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { MatExpansionPanel } from '@angular/material';\n\n@Component({\n selector: 'smp-system-version-elements',\n templateUrl: './system-version-elements.component.html'\n})\nexport class SystemVersionElementsComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n\n public viewEnable: boolean = true;\n public isDeleted: boolean;\n public successMessage: any;\n public showSuccessMessage: boolean;\n\n private headers = [\n { displayName: 'Nazwa', propertyName: 'name', propertyType: 'string' }\n ];\n\n @Input() data: SystemVersionHeader;\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild(MatExpansionPanel) panel : MatExpansionPanel;\n @Output() rowEdited: EventEmitter = new EventEmitter();\n \n constructor(\n private rest: SystemVersionRest,\n private permissionService: PermissionsService ) {\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType); \n }\n\n ngOnInit(): void {\n this.setPermissions('SystemVersion');\n this.viewEnable = this.permissions.canShow;\n }\n\n public onRowEdit(row: SystemVersion) {\n let emittData = {isAdded: false, value: row };\n this.rowEdited.emit(emittData);\n }\n\n public onRowDelete(row: SystemVersion) {\n sweetAlert('Czy usunąć wersję systemu?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.rest.deleteSystemVersion(row.id).subscribe(() => {\n this.data.elements.splice(this.data.elements.indexOf(row), 1);\n sweetAlert('Pozycja systemu wersji została usunięta.');\n this.grid.refreshData();\n });\n\n break;\n }\n });\n }\n\n private getActionButtons() {\n return [];\n }\n}\n","export class SystemVersion {\n id: number;\n name: string;\n universalDictionaryId: number;\n}\n","module.exports = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\"","import { Component, OnInit, ViewChild, Output, EventEmitter, Input, HostListener } from '@angular/core';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { SystemVersion } from '../system-version.model';\nimport { NgForm } from '@angular/forms';\nimport { SystemVersionRest } from '../system-versions.rest';\nimport { SystemVersionHeader } from '../system-versions-header.model';\nimport { DictionaryRest } from '../../../dictionaries/dictionary/dictionary.rest';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'smp-systemversion',\n templateUrl: './system-version.component.html'\n})\nexport class SystemVersionComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n public dictionaries: any = [{ 'value': '', 'id': 0 }];\n public systemVersion: SystemVersion;\n private title: string;\n private editMode: boolean;\n private isEditable: boolean;\n private isSaving = false;\n \n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild('systemVersionForm') systemVersionForm: NgForm;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n constructor(\n private rest: SystemVersionRest,\n private dictionaryRest: DictionaryRest,\n private permissionService: PermissionsService) {\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.systemVersionForm.valid) {\n this.saveSystemVersion();\n event.preventDefault();\n }\n }\n\n public ngOnInit() {\n this.setPermissions(\"SystemVersion\");\n this.modal.title = 'Dodaj wersję systemu';\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n public openForAdding(element: SystemVersionHeader, dictionaries: any) {\n this.editMode = false;\n this.dictionaries = dictionaries;\n this.isEditable = this.permissions.canAdd;\n this.systemVersion = new SystemVersion();\n this.systemVersion.universalDictionaryId = element.id;\n this.modal.open();\n }\n\n public openForEdit(row: SystemVersion, dictionaries: any) {\n this.editMode = true;\n this.dictionaries = dictionaries;\n this.isEditable = this.permissions.canEdit;\n this.systemVersion = row;\n this.modal.open();\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public saveSystemVersion() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n const action = this.editMode ? this.rest.saveSystemVersion : this.rest.addSystemVersion;\n action.call(this.rest, this.systemVersion).subscribe((result: SystemVersion) => {\n if(result){\n this.modal.close();\n this.onSuccess.emit({ isAdded: !this.editMode, value: result });\n this.isSaving = false;\n }\n });\n }\n}\n","import { SystemVersion } from './system-version.model';\n\n\nexport class SystemVersionHeader {\n definitionName: string;\n id: number;\n elements: SystemVersion[];\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n \\n \\n \\n {{ successMessage | translate}}\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \".addButton {\\n color: #4CAF50; }\\n\"","import { Component, OnInit, ViewChild, ViewChildren, QueryList } from '@angular/core';\nimport { SystemVersionRest } from '../system-versions.rest';\nimport { SystemVersion } from '../system-version.model';\nimport { SystemVersionHeader } from '../system-versions-header.model';\nimport { SystemVersionComponent } from '../system-version/system-version.component';\nimport { SystemVersionElementsComponent } from '../system-version-elements/system-version-elements.component';\nimport { TranslatorService } from '../../../core/translator/translator.service';\nimport { DictionaryRest } from '../../../dictionaries/dictionary/dictionary.rest';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'smp-systemversions',\n templateUrl: './system-versions.component.html',\n styleUrls: ['./system-versions.component.scss']\n})\n\nexport class SystemVersionsComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n\n private systemVersions: SystemVersion[];\n private systemVersionHeader: SystemVersionHeader[] ;\n public isAddEnable: boolean = true;\n private isEditable: boolean;\n private dictionaries: any[];\n\n @ViewChildren(SystemVersionElementsComponent) elements: QueryList;\n @ViewChild(SystemVersionComponent) public systemVersionModal: SystemVersionComponent;\n\n constructor(private translateService: TranslatorService,\n private rest: SystemVersionRest,\n private dictionaryRest: DictionaryRest,\n private spinnerService: SpinnerService,\n private permissionService: PermissionsService) { }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('SystemVersion');\n this.isAddEnable = this.permissions.canAdd;\n this.isEditable = this.permissions.canEdit;\n this.getDisctionaries();\n }\n\n onSuccessOperation(value){\n this.refreshData(value.value, value.isAdded);\n }\n\n\n onRowEdit(event){\n this.systemVersionModal.openForEdit(event.value, this.dictionaries);\n }\n\n onRowAdd(){\n let header = new SystemVersionHeader();\n header.id = 1;\n this.systemVersionModal.openForAdding(header, this.dictionaries);\n }\n\n private refreshData(row: SystemVersion, isAdded: boolean) {\n if (isAdded) {\n let header = this.systemVersionHeader.find(x => x.id === row.universalDictionaryId);\n header.elements.push(row);\n let component = this.elements.find(e => e.data.id === row.universalDictionaryId);\n component.grid.refreshData();\n component.panel.expanded = true;\n component.grid.selectedItemId = row.id;\n }\n }\n\n private GrpoupedObject() {\n this.systemVersionHeader = new Array();\n this.dictionaries.forEach(d => {\n let header = new SystemVersionHeader();\n header.definitionName = d.value;\n header.id = d.id;\n header.elements = this.systemVersions.filter(s => s.universalDictionaryId === d.id);\n this.systemVersionHeader.push(header);\n });\n }\n\n private getDisctionaries(){\n this.dictionaryRest.getDictionaries(1).subscribe((dictionaries: any[]) => {\n this.dictionaries = dictionaries;\n if(dictionaries.length > 0){\n this.rest.getSystemVersions.call(this.rest).subscribe((systemVersionsInfo: SystemVersion[]) => {\n this.systemVersions = systemVersionsInfo;\n this.GrpoupedObject();\n this.spinnerService.hide();\n });\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { systemVersionsRouting } from './system-versions.routing';\nimport { SharedModule } from '../../core/shared/shared.module';\nimport { SystemVersionsComponent } from './system-versions-header/system-versions.component';\nimport { SystemVersionComponent } from './system-version/system-version.component';\nimport { SystemVersionElementsComponent } from './system-version-elements/system-version-elements.component';\nimport { SystemVersionRest } from './system-versions.rest';\nimport { LoginRest } from '../../login/login.rest';\nimport { MatIconModule } from '@angular/material';\nimport { DictionaryRest } from '../../dictionaries/dictionary/dictionary.rest';\n\n\n@NgModule({\n imports: [CommonModule, systemVersionsRouting, SharedModule ],\n declarations: [SystemVersionsComponent, SystemVersionElementsComponent, SystemVersionComponent],\n exports: [SystemVersionsComponent, SystemVersionElementsComponent, SystemVersionComponent, MatIconModule],\n providers : [SystemVersionRest, LoginRest, DictionaryRest]\n\n})\nexport class SystemVersionsModule { }\n","import { Injectable } from \"@angular/core\";\nimport { SystemVersion } from './system-version.model';\nimport { RestService } from \"../../core/core/rest.service\";\nimport { ObjectToSelect } from \"../../core/shared/objectToSelect.model\";\n\n\n@Injectable()\nexport class SystemVersionRest { \n constructor(private http: RestService) { }\n public getSystemVersions() {\n return this.http.get('api/systemversions');\n }\n\n public getSystemVersionsById(id: number) {\n let path = `api/systemversions/universaldictionary/${id}`;\n return this.http.get(path);\n }\n\n public getSystemVersion(systemversionId: number) {\n return this.http.get(`api/systemversion/${systemversionId}`);\n }\n\n public addSystemVersion(systemVersion: SystemVersion) {\n return this.http.post('api/systemversion/add', systemVersion);\n }\n\n public saveSystemVersion(systemVersion: SystemVersion) {\n return this.http.post('api/systemversion/edit', systemVersion);\n }\n\n public deleteSystemVersion(systemVersionId: number) {\n return this.http.post('api/systemversion/delete', systemVersionId );\n }\n\n public getSystemVersionsToSelect() {\n return this.http.get('api/systemversions/getSystemVersionsToSelect');\n }\n\n}","import { Routes, RouterModule } from '@angular/router';\nimport { SystemVersionsComponent } from './system-versions-header/system-versions.component';\n\nconst routes: Routes = [\n { path: '', component: SystemVersionsComponent}\n ];\n\n export const systemVersionsRouting = RouterModule.forChild(routes);\n","import { NgModule, Optional, SkipSelf } from '@angular/core';\n\nimport { SettingsService } from './settings/settings.service';\nimport { ThemesService } from './themes/themes.service';\nimport { TranslatorService } from './translator/translator.service';\nimport { MenuService } from './menu/menu.service';\n\nimport { throwIfAlreadyLoaded } from './module-import-guard';\nimport { SessionService } from './core/session.service';\nimport { RestService } from './core/rest.service';\nimport { JwtHttp } from './core/JwtHttp';\nimport { CommonModule } from '@angular/common';\nimport { TreelistEventService } from './shared/treelist/treelist-event.service';\nimport { TreelistRest } from './shared/treelist/treelist.rest';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { PermissionsService } from './services/permissions/permissions.service';\nimport { GridParamsRestoringService } from './services/grid-params-restoring/grid-params-restoring.service';\nimport { RoutingHistoryService } from './services/routing-history/routing-history.service';\nimport { SpinnerService } from './services/spinner-handler/spinner-handler.service';\nimport { PrintoutService } from './services/printout/printout-service.service';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n providers: [\n SettingsService,\n ThemesService,\n TranslatorService,\n MenuService,\n SessionService,\n RestService,\n JwtHttp,\n TreelistEventService,\n TreelistRest,\n PermissionsService,\n RoutingHistoryService,\n GridParamsRestoringService,\n SpinnerService,\n PrintoutService\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class CoreModule {\n constructor( @Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Http, Headers, Response } from '@angular/http';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class JwtHttp {\n constructor(\n private http: Http,\n private router: Router) { }\n }","import { Injectable } from '@angular/core';\nimport { Http, Headers, Response } from '@angular/http';\nimport { Router } from '@angular/router';\nimport { Observable } from 'rxjs/Observable';\nimport { RestResponse } from './core.model';\nimport 'rxjs/Rx';\nimport { NotificationService } from '../services/notification/notification.service';\nimport swal from 'sweetalert';\n\n@Injectable()\nexport class RestService {\n constructor(\n private http: Http,\n private router: Router,\n private notificationService: NotificationService) { }\n\n public get(path: string, showError: boolean = true): Observable {\n const headers = new Headers();\n this.createHeaders(headers);\n return this.http.get(path, {\n headers: headers\n }).map((res: Response) => {\n return this.processResponse(res, path);\n }).catch((error) => {\n if (showError) {\n var errorMessage = '';\n if (error.status === undefined)\n errorMessage = `${error.message}`;\n else if (error.status === 403)\n errorMessage = `Brak uprawnień: ${error.url}`;\n else if (error.status === 401)\n errorMessage = null;\n else\n errorMessage = `${error.status} - ${error.message}`;\n if (errorMessage !== null && errorMessage !== '' && !errorMessage.includes('pierwsze logowanie.'))\n swal({ text: errorMessage });\n }\n\n if (error.status === 401) {\n this.navigateToLoginPage();\n }\n return Observable.throw(error);\n });\n }\n\n public post(path: string, data: any, showError: boolean = true): Observable {\n const headers = new Headers();\n this.createHeaders(headers);\n return this.http.post(path,\n JSON.stringify(data), {\n headers: headers\n }).map((res: Response) => {\n return this.processResponse(res, path);\n }).catch((error) => {\n if (showError) {\n var errorMessage = '';\n if (error.status === undefined)\n errorMessage = `${error.message}`;\n else if (error.status === 403)\n errorMessage = `Brak uprawnień: ${error.url}`;\n else if (error.status === 401)\n errorMessage = null;\n else\n errorMessage = `${error.status} - ${error.message}`;\n if (errorMessage !== null && errorMessage !== '' && !errorMessage.includes('pierwsze logowanie.') && !errorMessage.includes('Użytkownik zewnętrzny. Należy wybrać kontrahenta.'))\n sweetAlert({ text: errorMessage });\n }\n\n if (error.status === 401 || error.status === 404) {\n this.navigateToLoginPage();\n }\n\n return Observable.throw(error);\n });\n }\n\n private processResponse(response: Response, path:string): T {\n if (response.status < 200) {\n throw Error('Bad response status: ' + response.status);\n }\n let responseContentType = response.headers.get('content-type');\n if(!responseContentType.includes('json')) {\n console.error('Path: \\n' + path + '\\nResponse:\\n' + response.text());\n throw Error('Bad response type: ' + responseContentType);\n }\n\n const restResponse: RestResponse = response.json();\n if (restResponse.isSuccess) {\n if (restResponse.webToken) {\n localStorage.setItem('token', restResponse.webToken.accessToken);\n localStorage.setItem('refreshToken', restResponse.webToken.refreshToken);\n }\n return restResponse.data;\n } else {\n if (restResponse.errorMessage == 'Security error - context.')\n this.navigateToLoginPage();\n else if (restResponse.errorMessage.includes('pierwsze logowanie.')) {\n var loginStr = restResponse.errorMessage.split(':');\n this.router.navigate(['/changepassword', loginStr[0]]);\n }\n\n throw Error(restResponse.errorMessage);\n }\n }\n\n private createHeaders(headers: Headers) {\n headers.append('Content-Type', 'application/json');\n headers.append('Accept', 'application/json');\n headers.append('Authorization', 'bearer ' + localStorage.getItem('token'));\n headers.append('RefreshToken', localStorage.getItem('refreshToken'));\n }\n\n private navigateToLoginPage() {\n this.router.navigate(['/login']);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Http, Headers, Response } from '@angular/http';\nimport { RestResponse } from './core.model';\nimport { Observable, of } from 'rxjs';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/catch';\n\n@Injectable()\nexport class SessionService {\n constructor(private http: Http) { }\n\n public isSessionActive() {\n return this.postIsSessionActive();\n }\n\n private createHeaders(headers: Headers) {\n headers.append('Content-Type', 'application/json');\n headers.append('Authorization', 'bearer ' + localStorage.getItem('token'));\n headers.append('RefreshToken', localStorage.getItem('refreshToken'));\n }\n\n private postIsSessionActive(): Observable {\n const path = '/api/auth/isSessionActive';\n const headers = new Headers();\n this.createHeaders(headers);\n \n return this.http.post(path, undefined, { headers: headers })\n .map((res: Response) => {\n if (res.status === 401 || res.status === 403) {\n throw new Error();\n }\n const restResponse: RestResponse = res.json();\n if (restResponse.data == true) {\n return true;\n } else {\n return false;\n }\n })\n .catch((error) => {\n return of(false);\n });\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class MenuService {\n\n menuItems: Array;\n\n constructor() {\n this.menuItems = [];\n }\n\n addMenu(items: Array<{\n text: string,\n heading?: boolean,\n link?: string, // internal route links\n elink?: string, // used only for external links\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\n icon?: string,\n alert?: string,\n submenu?: Array\n }>) {\n items.forEach((item) => {\n this.menuItems.push(item);\n });\n }\n\n getMenu() {\n return this.menuItems;\n }\n\n}\n","// https://angular.io/styleguide#!#04-12\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\n }\n}\n","import { GridMainFilter, SortedColumn } from \"../../shared/grid/grid.model\";\r\n\r\nexport const GridFiltersKey: string = 'GridFilters';\r\nexport const MainFiltersKey: string = 'MainGridFilters';\r\nexport const PageNumberKey: string = 'GridPageNumber';\r\nexport const PageSizeKey: string = 'GridPageSize';\r\nexport const SortedColumnKey: string = 'GridSortedColumn';\r\nexport const PreviousProjectTypeKey: string = 'PreviousProjectType';\r\nexport const EditedItemIdKey: string = 'EditedItemId';\r\nexport const InnerParamsKey: string = 'Inner';\r\n\r\n/**\r\n * Interface for lists, for restoring previous filters and page\r\n * number on grid, when returning from details view.\r\n * \r\n * 1. Add grid params restoring service injection to constructor:\r\n * \r\n * private gridParamsRestoringService: GridParamsRestoringService\r\n * \r\n * 2. Add call to restore method in onInit()\r\n * \r\n * Ex. implementation:\r\n * \r\n * private tryRestoreFiltersAndPage() {\r\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\r\n if(!previousGridParams) {\r\n return;\r\n }\r\n \r\n this.initialFilters = previousGridParams.initialFilters;\r\n this.initialSortedColumn = previousGridParams.sortedColumn;\r\n this.previousMainFilters = previousGridParams.previousMainFilters;\r\n this.initialPageNumber = previousGridParams.initialPageNumber;\r\n this.initialPageSize = previousGridParams.initialPageSize;\r\n this.editedItemId = previousGridParams.editedItemId;\r\n this.isNewRowAdded = previousGridParams.isNewRowAdded;\r\n if(previousGridParams.mainFilter) {\r\n this.mainFilter = previousGridParams.mainFilter;\r\n }\r\n }\r\n * \r\n * 3. Add call to save method before navigating to details view\r\n * 4. Use read values to set up filters and GUI:\r\n * ex.:\r\n * if(this.previousMainFilters['ProjectManager']) {\r\n this.projectManager = this.previousMainFilters['ProjectManager'];\r\n }\r\n */\r\nexport interface GridParamsRestorable {\r\n /** add to grid in template:\r\n * [initialFilters]=\"initialFilters\"\r\n * */\r\n initialFilters: any;\r\n\r\n /** = 0\r\n * \r\n * add to grid in template:\r\n * [initialPageNumber]=\"initialPageNumber\"\r\n */\r\n initialPageNumber: number;\r\n\r\n /**\r\n * add to grid in template:\r\n * [initialPageSize]=\"initialPageSize\"\r\n */\r\n initialPageSize: number;\r\n\r\n /**\r\n * add to grid in template:\r\n * [initialSortedColumn]=\"initialSortedColumn\"\r\n */\r\n initialSortedColumn: SortedColumn;\r\n\r\n /** \r\n * add to grid in template:\r\n * [selectedItemId]=\"editedItemId\"\r\n */\r\n editedItemId: any;\r\n\r\n /** = {} */\r\n previousMainFilters: any;\r\n\r\n /** ex. value = '/projects/project' */\r\n detailsPath: string;\r\n}\r\n\r\nexport class GridParamsRestoringResult {\r\n initialFilters: any;\r\n initialPageNumber: number = 0;\r\n initialPageSize: number;\r\n mainFilter: GridMainFilter[];\r\n previousMainFilters: any = {};\r\n sortedColumn: SortedColumn;\r\n editedItemId: any;\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { RoutingHistoryService } from \"../routing-history/routing-history.service\";\r\nimport { GridFiltersKey, PageNumberKey, MainFiltersKey, PreviousProjectTypeKey, GridParamsRestoringResult, SortedColumnKey, EditedItemIdKey, PageSizeKey, InnerParamsKey } from \"./grid-params-restoring.model\";\r\nimport { ProjectType } from \"../../../projects/projects.model\";\r\nimport { GridComponent } from '../../shared/grid/grid.component';\r\n\r\n@Injectable()\r\nexport class GridParamsRestoringService {\r\n constructor(\r\n private routingHistory: RoutingHistoryService\r\n ) { }\r\n\r\n public saveCurrentGridParams(grid: GridComponent, editedItemId: any = undefined, projectType: ProjectType = undefined, isForInner: boolean = false) {\r\n sessionStorage.setItem(this.getKeyName(GridFiltersKey, isForInner), JSON.stringify(grid.filters));\r\n if (grid.mainFilter) {\r\n sessionStorage.setItem(this.getKeyName(MainFiltersKey, isForInner), JSON.stringify(grid.mainFilter));\r\n }\r\n sessionStorage.setItem(this.getKeyName(PageNumberKey, isForInner), grid.currentPage.toString());\r\n sessionStorage.setItem(this.getKeyName(PageSizeKey, isForInner), grid.pageSize.toString());\r\n sessionStorage.setItem(this.getKeyName(SortedColumnKey, isForInner), JSON.stringify({ columnName: grid.sortedColumn, isAscending: grid.isAsc }));\r\n if (editedItemId != undefined) {\r\n sessionStorage.setItem(this.getKeyName(EditedItemIdKey, isForInner), editedItemId.toString());\r\n }\r\n if (projectType != undefined) {\r\n sessionStorage.setItem(PreviousProjectTypeKey, projectType.toString());\r\n }\r\n }\r\n\r\n public saveAddingNewRowInfo(addedItemId: any, projectType: ProjectType = undefined, isForInner: boolean = false) {\r\n sessionStorage.setItem(this.getKeyName(EditedItemIdKey, isForInner), addedItemId.toString());\r\n if (projectType !== undefined) {\r\n sessionStorage.setItem(PreviousProjectTypeKey, projectType.toString());\r\n }\r\n }\r\n\r\n public getPreviousGridParams(acceptedPreviousPath: string, isForInner: boolean = false): GridParamsRestoringResult {\r\n let previousPath = this.routingHistory.getPreviousUrl();\r\n if (previousPath.startsWith(acceptedPreviousPath) || previousPath.includes(acceptedPreviousPath)) {\r\n let result = new GridParamsRestoringResult();\r\n\r\n let previousFilters = sessionStorage.getItem(this.getKeyName(GridFiltersKey, isForInner));\r\n if (previousFilters) {\r\n result.initialFilters = JSON.parse(previousFilters);\r\n }\r\n\r\n let previousPageNumber = sessionStorage.getItem(this.getKeyName(PageNumberKey, isForInner));\r\n if (previousPageNumber) {\r\n result.initialPageNumber = parseInt(previousPageNumber);\r\n }\r\n\r\n let previousPageSize = sessionStorage.getItem(this.getKeyName(PageSizeKey, isForInner));\r\n if (previousPageSize) {\r\n result.initialPageSize = parseInt(previousPageSize);\r\n }\r\n\r\n let previousSortingStr = sessionStorage.getItem(this.getKeyName(SortedColumnKey, isForInner));\r\n if (previousSortingStr) {\r\n let previousSortedColumn = JSON.parse(previousSortingStr);\r\n result.sortedColumn = previousSortedColumn;\r\n }\r\n\r\n let editedItemIdStr = sessionStorage.getItem(this.getKeyName(EditedItemIdKey, isForInner));\r\n if (editedItemIdStr) {\r\n let editedItemId = Number(editedItemIdStr);\r\n result.editedItemId = isNaN(editedItemId) ? editedItemIdStr : editedItemId;\r\n }\r\n\r\n let previousMainFiltersStr = sessionStorage.getItem(this.getKeyName(MainFiltersKey, isForInner));\r\n if (previousMainFiltersStr) {\r\n let previousMainFilters = JSON.parse(previousMainFiltersStr);\r\n if (previousMainFilters.length > 0) {\r\n result.mainFilter = previousMainFilters;\r\n previousMainFilters.forEach(filter => {\r\n result.previousMainFilters[filter.internalName] = filter.value;\r\n });\r\n }\r\n }\r\n\r\n if (isForInner == false) {\r\n this.clearSavedFilterData();\r\n }\r\n this.clearSavedFilterData(true);\r\n return result;\r\n }\r\n\r\n if (isForInner == false) {\r\n this.clearSavedFilterData();\r\n }\r\n this.clearSavedFilterData(true);\r\n\r\n return undefined;\r\n }\r\n\r\n public getPreviousProjectsGridParams(acceptedPreviousPaths: string[], projectType: ProjectType): GridParamsRestoringResult {\r\n let previousPath = this.routingHistory.getPreviousUrl();\r\n let isPreviousPathFromDetails = false;\r\n acceptedPreviousPaths.forEach(path => {\r\n if (previousPath.startsWith(path)) {\r\n isPreviousPathFromDetails = true;\r\n }\r\n });\r\n if (isPreviousPathFromDetails) {\r\n let previousProjectTypeStr = sessionStorage.getItem(PreviousProjectTypeKey);\r\n if (previousProjectTypeStr) {\r\n var previousProjectType = parseInt(previousProjectTypeStr);\r\n }\r\n\r\n if (previousProjectType == projectType) {\r\n let result = new GridParamsRestoringResult();\r\n\r\n let previousFilters = sessionStorage.getItem(GridFiltersKey);\r\n if (previousFilters) {\r\n result.initialFilters = JSON.parse(previousFilters);\r\n }\r\n\r\n let previousPageNumber = sessionStorage.getItem(PageNumberKey);\r\n if (previousPageNumber) {\r\n result.initialPageNumber = parseInt(previousPageNumber);\r\n }\r\n\r\n let previousPageSize = sessionStorage.getItem(PageSizeKey);\r\n if (previousPageSize) {\r\n result.initialPageSize = parseInt(previousPageSize);\r\n }\r\n\r\n let previousSortingStr = sessionStorage.getItem(SortedColumnKey);\r\n if (previousSortingStr) {\r\n let previousSortedColumn = JSON.parse(previousSortingStr);\r\n result.sortedColumn = previousSortedColumn;\r\n }\r\n\r\n let editedItemIdStr = sessionStorage.getItem(EditedItemIdKey);\r\n if (editedItemIdStr) {\r\n let editedItemId = parseInt(editedItemIdStr);\r\n result.editedItemId = editedItemId;\r\n }\r\n\r\n let previousMainFiltersStr = sessionStorage.getItem(MainFiltersKey);\r\n if (previousMainFiltersStr) {\r\n let previousMainFilters = JSON.parse(previousMainFiltersStr);\r\n if (previousMainFilters.length > 0) {\r\n result.mainFilter = previousMainFilters;\r\n previousMainFilters.forEach(filter => {\r\n result.previousMainFilters[filter.internalName] = filter.value;\r\n });\r\n }\r\n }\r\n\r\n this.clearSavedFilterData();\r\n this.clearSavedFilterData(true);\r\n\r\n return result;\r\n }\r\n }\r\n\r\n this.clearSavedFilterData();\r\n this.clearSavedFilterData(true);\r\n\r\n return undefined;\r\n }\r\n\r\n private clearSavedFilterData(isForInner: boolean = false) {\r\n sessionStorage.removeItem(this.getKeyName(GridFiltersKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(PageNumberKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(MainFiltersKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(PreviousProjectTypeKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(SortedColumnKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(EditedItemIdKey, isForInner));\r\n sessionStorage.removeItem(this.getKeyName(PageSizeKey, isForInner));\r\n }\r\n\r\n private getKeyName(keyName: string, isForInner: boolean) {\r\n return isForInner ? InnerParamsKey + keyName : keyName;\r\n }\r\n\r\n\r\n}","import { Injectable } from '@angular/core';\n\nimport { Observable } from 'rxjs/Observable';\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\n\nimport 'rxjs/add/operator/publish';\n\n\n@Injectable()\nexport class NotificationService {\n\n private _notification: BehaviorSubject = new BehaviorSubject(null);\n readonly notification$: Observable = this._notification.asObservable().publish().refCount();\n\n constructor() { }\n\n notify(message, timeout?: number) {\n this._notification.next(message);\n if (timeout) {\n setTimeout(() => this._notification.next(null), timeout);\n }\n }\n\n}","export class Permissions {\n constructor(\n public canAdd: boolean,\n public canEdit: boolean,\n public canShow: boolean,\n public canDelete: boolean,\n public hasBudgetPermission: boolean,\n public hasAllWorklogsPermission: boolean,\n public hasIssuesNotAssignedPermission: boolean,\n public hasIsToTfsPermission: boolean,\n public hasCustomerBlockingPermission: boolean,\n public hasExtIssuesRcpReportPermission:boolean,\n public hasExtIssuesRcpReportForeignPayerPermission:boolean,\n public customerId: number\n ) {\n }\n}\n\nexport interface HasPermissions {\n permissions: Permissions;\n\n /**\n * \n * 1. Add (private permissionService: PermissionsService) to constructor\n * 2. Implement this method with below line: \n * \n * this.permissions = this.permissionService.getUserPermissions(claimType);\n * \n * 3. Add this.setPermissions(claimType) to ngOnInit() mtehod\n * @param claimType: Type of permission like User, Project, etc.\n */\n setPermissions(claimType: string): void;\n}","import { Injectable } from '@angular/core';\nimport { Permissions } from './permissions.model';\n\n@Injectable()\nexport class PermissionsService {\n\n constructor() { }\n\n public getUserPermissions(claimType: string): Permissions {\n let token = localStorage.getItem(\"token\");\n let permissions = new Permissions(false, false, false, false, false, false, false, false, false, false, false, null);\n if (!token)\n return permissions;\n\n let payload = JSON.parse(atob(token.split('.')[1]));\n permissions.canAdd = payload[`Add${claimType}`] === 'True';\n permissions.canDelete = payload[`Delete${claimType}`] === 'True';\n permissions.canEdit = payload[`Edit${claimType}`] === 'True';\n permissions.canShow = payload[`Show${claimType}`] === 'True';\n permissions.hasBudgetPermission = payload['HasBudgetPermission'] === 'True';\n permissions.hasAllWorklogsPermission = payload['HasAllWorklogsPermission'] === 'True';\n permissions.hasIssuesNotAssignedPermission = payload['HasIssuesNotAssignedPermission'] === 'True';\n permissions.hasIsToTfsPermission = payload['HasIsToTfsPermission'] === 'True';\n permissions.hasCustomerBlockingPermission = payload['HasCustomerBlockingPermission'] === 'True';\n permissions.hasExtIssuesRcpReportPermission = payload['HasExtIssuesRcpReportPermission'] === 'True';\n permissions.hasExtIssuesRcpReportForeignPayerPermission = payload['HasExtIssuesRcpReportForeignPayerPermission'] === 'True';\n\n permissions.customerId = payload['CustomerId'];\n\n return permissions;\n }\n}\n","import { Injectable } from '@angular/core';\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\nimport { Observable } from 'rxjs';\nimport { RestService } from '../../core/rest.service';\npdfMake.vfs = pdfFonts.pdfMake.vfs;\n\n@Injectable()\nexport class PrintoutService {\n private getPdfFromProcedureRestPath = 'api/printout/pdffromprocedure';\n\n constructor(\n private restService: RestService\n ) { }\n\n public makePdfFromProcedure(procedureName: string, params: any) {\n let printoutParameters = { procedureName: procedureName, parameters: params };\n this.getPdfFromProcedure(printoutParameters).subscribe(pdfData => {\n if (!pdfData) {\n return;\n }\n let pdfObject = JSON.parse(pdfData);\n\n let pdfDoc = pdfMake.createPdf(pdfObject);\n pdfDoc.open();\n });\n }\n\n public makePdfFromJson(pdfData: string) {\n if (!pdfData) {\n return;\n }\n\n let pdfObject = JSON.parse(pdfData);\n\n let pdfDoc = pdfMake.createPdf(pdfObject);\n pdfDoc.open();\n }\n\n public makePdfFromObject(pdfDefinition: any) {\n if (!pdfDefinition) {\n return;\n }\n\n let pdfDoc = pdfMake.createPdf(pdfDefinition);\n pdfDoc.open();\n }\n\n private getPdfFromProcedure(printoutParameters: any): Observable {\n return this.restService.post(this.getPdfFromProcedureRestPath, printoutParameters);\n }\n}\n","import { Injectable } from \"@angular/core\";\r\nimport { Router, NavigationEnd } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\n\r\nconst excludedPathFragments: string[] = [\r\n '/project/new',\r\n '/user/new',\r\n '/customer/new',\r\n '/order/new',\r\n '/service/new',\r\n '/consultation/new',\r\n '/issue/new',\r\n '/worklog/new',\r\n '/worklogdetails/new',\r\n '/projectstep',\r\n '/login'\r\n];\r\n\r\n@Injectable()\r\nexport class RoutingHistoryService {\r\n readonly previousPathKey = 'PreviousVisitedPath';\r\n\r\n private previousUrl: string;\r\n private currentUrl: string;\r\n\r\n constructor(\r\n private router: Router\r\n ) {}\r\n\r\n public loadRouting(): void {\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .subscribe(({urlAfterRedirects}: NavigationEnd) => {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = urlAfterRedirects;\r\n if(this.previousUrl\r\n && this.previousUrl != 'login'\r\n && !this.previousUrl.startsWith('/changepassword')\r\n && !this.previousUrl.startsWith('/resetpassword')\r\n && !this.isPathExcluded(this.previousUrl)) {\r\n localStorage.setItem(this.previousPathKey, this.previousUrl);\r\n }\r\n });\r\n }\r\n\r\n public getPreviousUrl(): string {\r\n return this.previousUrl || '/dashboard';\r\n }\r\n\r\n public getCurrentUrl(): string {\r\n return this.currentUrl || '/dashboard';\r\n }\r\n\r\n private isPathExcluded(path: string):boolean {\r\n for (let index = 0; index < excludedPathFragments.length; index++) {\r\n if(path.includes(excludedPathFragments[index])){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { SpinnerComponent } from \"../../../shell/spinner/spinner.component\";\r\n\r\nconst spinnerShowTimeout: number = 50; // x100ms\r\n\r\n@Injectable()\r\nexport class SpinnerService { \r\n private spinner: SpinnerComponent;\r\n private showCount: number = 0;\r\n private timer;\r\n private ticks: number = 0;\r\n private timerCounting: boolean = false;\r\n\r\n _register(spinner: SpinnerComponent) {\r\n this.spinner = spinner;\r\n }\r\n\r\n public show() {\r\n if(this.spinner) {\r\n this.showCount++;\r\n if(this.showCount > 0) {\r\n this.spinner.show = true;\r\n this.ticks = spinnerShowTimeout;\r\n\r\n if(!this.timerCounting) {\r\n this.startTimer();\r\n }\r\n }\r\n }\r\n }\r\n\r\n public hide() {\r\n if(this.spinner) {\r\n if(this.showCount > 0) {\r\n this.showCount--;\r\n }\r\n if(this.showCount <= 0) {\r\n this.spinner.show = false;\r\n this.showCount = 0;\r\n this.ticks = 0;\r\n this.stopTimer();\r\n }\r\n }\r\n }\r\n\r\n private startTimer() {\r\n this.timerCounting = true;\r\n this.timer = setInterval(() => {\r\n if(this.timerCounting) {\r\n this.ticks--;\r\n }\r\n if(this.ticks <= 0) {\r\n this.spinner.show = false;\r\n this.showCount = 0;\r\n this.stopTimer();\r\n }\r\n }, 100);\r\n }\r\n\r\n private stopTimer() {\r\n this.timerCounting = false;\r\n if(this.timer) {\r\n clearInterval(this.timer);\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\ndeclare var $: any;\n\n@Injectable()\nexport class SettingsService {\n\n private user: any;\n private app: any;\n private layout: any;\n private summernoteStyleTag: any;\n private summernoteStyleVariables: any = {\n top: 60,\n left: 220\n }\n\n constructor() {\n\n // User Settings\n // -----------------------------------\n this.user = {\n name: 'John',\n job: 'ng-developer',\n picture: 'assets/img/user/02.jpg'\n };\n\n // App Settings\n // -----------------------------------\n this.app = {\n name: 'ITS Teneso',\n description: 'ITS application',\n year: ((new Date()).getFullYear())\n };\n\n // Layout Settings\n // -----------------------------------\n this.layout = {\n isFixed: true,\n isCollapsed: false,\n isBoxed: false,\n isRTL: false,\n horizontal: false,\n isFloat: false,\n asideHover: false,\n theme: null,\n asideScrollbar: false,\n isCollapsedText: false,\n useFullLayout: false,\n hiddenFooter: false,\n offsidebarOpen: false,\n asideToggled: false,\n viewAnimation: 'ng-fadeInUp'\n };\n this.createStyleForSummerNoteFullscreen();\n this.updateSummernoteStylesheet();\n }\n\n getAppSetting(name) {\n return name ? this.app[name] : this.app;\n }\n getUserSetting(name) {\n return name ? this.user[name] : this.user;\n }\n getLayoutSetting(name) {\n return name ? this.layout[name] : this.layout;\n }\n\n setAppSetting(name, value) {\n if (typeof this.app[name] !== 'undefined') {\n this.app[name] = value;\n }\n }\n setUserSetting(name, value) {\n if (typeof this.user[name] !== 'undefined') {\n this.user[name] = value;\n }\n }\n setLayoutSetting(name, value) {\n if (typeof this.layout[name] !== 'undefined') {\n let result = this.layout[name] = value;\n this.updateSummernoteStyleVariables();\n this.updateSummernoteStylesheet();\n return result;\n }\n }\n\n toggleLayoutSetting(name) {\n return this.setLayoutSetting(name, !this.getLayoutSetting(name));\n }\n\n private createStyleForSummerNoteFullscreen() {\n const head = document.head || document.getElementsByTagName('head')[0];\n this.summernoteStyleTag = document.createElement('style');\n this.summernoteStyleTag.type = 'text/css';\n this.summernoteStyleTag.id = 'summernoteFullscreen';\n head.appendChild(this.summernoteStyleTag);\n }\n \n private updateSummernoteStylesheet() {\n let css = this.getSummernoteStyle();\n this.summernoteStyleTag.innerHTML = css;\n }\n\n private updateSummernoteStyleVariables() {\n if(this.layout.isCollapsed) {\n this.summernoteStyleVariables.left = 70;\n } else if(this.layout.isCollapsedText) {\n this.summernoteStyleVariables.left = 90;\n } else {\n this.summernoteStyleVariables.left = 220;\n }\n }\n \n private getSummernoteStyle() {\n let css = `.note-editor.note-frame.fullscreen {\n top: ${this.summernoteStyleVariables.top}px;\n left: ${this.summernoteStyleVariables.left}px;\n right: 0;\n bottom: 0;\n width: auto !important;\n }\n @media (max-width: 767.98px) {\n .note-editor.note-frame.fullscreen {\n left: 0;\n }\n }`;\n return css;\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \"input[type=\\\"file\\\"] {\\n display: none; }\\n\\n.input-label {\\n margin-left: 5px; }\\n\"","import { Component, OnInit, ViewChild, Input, Output, EventEmitter, ElementRef } from '@angular/core';\nimport { AttachmentRest } from './attachments.rest'\nimport { AttachmentUploadParameter, AttachmentDeleteParameter, AttachmentHolder, AttachmentInfo } from \"./attachments.model\";\nimport { GridComponent } from '../grid/grid.component';\nimport { Subscription } from 'rxjs';\nimport { MessageBoxComponent } from '../message-box.component';\n\n@Component({\n selector: 'app-attachments',\n templateUrl: './attachments.component.html',\n styleUrls: ['./attachments.component.scss']\n})\nexport class AttachmentsComponent implements OnInit {\n\n constructor(private attachmentRest: AttachmentRest) { }\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild('file') fileInput: ElementRef;\n\n private objectTypeId: number;\n private objectId: number;\n public attachment: File;\n public selectedFile: string = 'Nie wybrano pliku';\n public path: string;\n @Input() public isEditable = true;\n @Input() public isRemovable = true;\n @Input() public allowAdding = true;\n @Input() public sortable = false;\n @Input() public controller: string;\n @Input() public attachments: AttachmentInfo[];\n @Output() public attachmentsChange: EventEmitter = new EventEmitter();\n private messageBoxSubscription: Subscription;\n private attachmentHolder: AttachmentHolder;\n private headers = [\n { displayName: 'Nazwa', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Rozszerzenie', propertyName: 'extension', propertyType: 'string' },\n { displayName: 'Rozmiar', propertyName: 'size', propertyType: 'string' },\n { displayName: 'Data utworzenia', propertyName: 'createDate', propertyType: 'date', dateFormat: 'dd.MM.yyyy HH:mm' }\n ];\n\n ngOnInit() { }\n\n public getAttachments() {\n return this.attachments;\n }\n\n public uploadFile() {\n var reader = new FileReader();\n\n if (this.attachment == null)\n return;\n\n if ((this.attachment as File).size > 12582912) {\n sweetAlert(\"Wielkość pliku nie może przekraczać 12 MB\");\n return;\n } \n\n reader.readAsArrayBuffer(this.attachment);\n reader.onload = () => {\n let parameter = new AttachmentUploadParameter();\n parameter.objectTypeId = this.objectTypeId;\n parameter.file = this.convertToBase64(reader.result as ArrayBuffer);\n parameter.fileName = `${this.getNormalizedFilename(this.attachment.name)}${this.getFileExtension(this.attachment.name)}`;\n parameter.objectId = this.objectId;\n parameter.controller = this.controller\n this.attachmentRest.checkFileNames(this.controller, this.attachment.name, this.objectTypeId, this.objectId).subscribe((res: boolean) => {\n if (res) {\n sweetAlert(`Plik o podanej nazwie już istnieje. Czy na pewno chcesz zapisać?`, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.attachmentRest.addAttachmentAndGetMetadata(parameter).subscribe((res: AttachmentInfo) => {\n this.attachments.push(res);\n sweetAlert({ text: `Plik \"${res.name}\" został zapisany` });\n this.grid.refreshData();\n this.fileInput.nativeElement.value = \"\";\n this.attachmentsChange.emit(this.attachments);\n });\n }\n });\n this.fileInput.nativeElement.value = \"\";\n }\n else {\n this.attachmentRest.addAttachmentAndGetMetadata(parameter).subscribe((res: AttachmentInfo) => {\n this.attachments.push(res);\n sweetAlert({ text: `Plik \"${res.name}\" został zapisany` });\n this.grid.refreshData();\n this.fileInput.nativeElement.value = \"\";\n this.attachmentsChange.emit(this.attachments);\n });\n }\n });\n }\n }\n\n public onFileChanged(files: File[]) {\n if (!files)\n return;\n\n this.attachment = files[0];\n this.selectedFile = files[0].name;\n if (this.objectId !== 0)\n this.uploadFile();\n else {\n if (this.attachment == null)\n return;\n if (this.attachments.some(x => x.name === this.attachment.name)) {\n sweetAlert(`Plik o podanej nazwie już istnieje. Czy na pewno chcesz zapisać?`, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.addNewAttachment();\n }\n });\n this.fileInput.nativeElement.value = \"\";\n }\n else {\n this.addNewAttachment();\n }\n }\n }\n\n // public setModel(objectTypeId : number, objectId: number, controller: string){\n public setModel(attachmentHolder: AttachmentHolder, controller: string) {\n this.attachmentHolder = attachmentHolder;\n this.objectId = attachmentHolder.id;\n this.objectTypeId = attachmentHolder.objectTypeId;\n this.controller = controller;\n this.attachments = this.attachmentHolder.attachments;\n };\n\n public onMessageBoxClose() {\n if (this.messageBoxSubscription) {\n this.messageBoxSubscription.unsubscribe();\n }\n }\n\n private onRowEdit(row: any) {\n this.getFile(row.id);\n }\n\n private onRowDelete(row: any) {\n sweetAlert(`Czy usunąć załącznik \"${row.name}\"?`, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id > 0) {\n let action = this.attachmentRest.delete;\n let paramter = new AttachmentDeleteParameter();\n paramter.attachmentId = row.id;\n paramter.controller = this.controller;\n action.call(this.attachmentRest, paramter).subscribe(res => {\n sweetAlert(`Plik ${row.name} został usunięty`);\n this.attachments.splice(this.attachments.indexOf(row), 1);\n this.grid.refreshData();\n this.attachmentsChange.emit(this.attachments);\n });\n }\n else {\n sweetAlert(`Plik ${row.name} został usunięty`);\n this.attachments.splice(this.attachments.indexOf(row), 1);\n this.grid.refreshData();\n this.attachmentsChange.emit(this.attachments);\n }\n break;\n }\n });\n\n }\n private onActivate(event) { return }\n private getActionButtons() {\n return [];\n }\n\n getFile(attachmentId: number) {\n if (this.objectId !== 0) {\n return this.attachmentRest.get(attachmentId, this.controller).subscribe(res => {\n let byteArray = this.convertFromBase64(res.content);\n let blob = new Blob([byteArray], { type: res.contentType });\n var url = window.URL.createObjectURL(blob);\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.setAttribute('style', 'display: none');\n a.href = url;\n a.download = res.fileName;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n });\n }\n else {\n let attachment = this.attachments.find(x => x.id === attachmentId);\n let byteArray = this.convertFromBase64(attachment.fileString);\n let blob = new Blob([byteArray], { type: attachment.contentType });\n var url = window.URL.createObjectURL(blob);\n var a = document.createElement('a');\n document.body.appendChild(a);\n a.setAttribute('style', 'display: none');\n a.href = url;\n a.download = attachment.name;\n a.click();\n window.URL.revokeObjectURL(url);\n a.remove();\n }\n }\n\n private convertToBase64(arrayBuffer: ArrayBuffer) {\n let binaryString = ''\n let array = new Uint8Array(arrayBuffer);\n for (var i = 0; i < array.byteLength; i++) {\n binaryString += String.fromCharCode(array[i]);\n }\n return window.btoa(binaryString);\n }\n\n private convertFromBase64(base64: string) {\n var byteCharacters = atob(base64);\n var byteNumbers = new Array(byteCharacters.length);\n for (var i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n return new Uint8Array(byteNumbers);\n }\n\n private getNormalizedFilename(name: string) {\n let filename = name.substring(0, this.attachment.name.lastIndexOf('.'));\n let extension = name.substring(this.attachment.name.lastIndexOf('.'));\n filename = filename.replace(/\\.\\//g, \"_\");\n //filename += extension;\n return filename;\n }\n\n private getFileExtension(name: string) {\n let extension = name.substring(name.lastIndexOf('.'));\n return extension;\n }\n\n private getName(name: string) {\n let numberOfCopies: number = 0;\n let i: number = 0;\n\n while (i < this.attachments.length) {\n if (this.attachments[i].name === name) {\n numberOfCopies++;\n name = `${this.getNormalizedFilename(name)} (${numberOfCopies})${this.getFileExtension(name)}`;\n i = 0;\n }\n else {\n i++;\n }\n }\n return name;\n }\n\n private addNewAttachment() {\n var reader = new FileReader();\n reader.readAsArrayBuffer(this.attachment);\n reader.onload = () => {\n let attachment = new AttachmentInfo();\n attachment.createdDate = new Date();\n attachment.extension = this.getFileExtension(this.attachment.name);\n attachment.name = `${this.getNormalizedFilename(this.attachment.name)}${this.getFileExtension(this.attachment.name)}`; //this.getName(this.attachment.name);\n attachment.id = (this.attachments.length !== 0 ? Math.min.apply(Math, this.attachments.map(function (o) { return o.id; })) : 0) - 1;\n attachment.size = `${this.convertBytesToKilobytes(this.attachment.size).toFixed(2)} KB`;\n attachment.contentType = this.attachment.type;\n attachment.fileString = this.convertToBase64(reader.result as ArrayBuffer);\n this.attachments.push(attachment);\n sweetAlert({ text: `Plik \"${attachment.name}\" został zapisany` });\n this.grid.refreshData();\n this.fileInput.nativeElement.value = \"\";\n this.attachmentsChange.emit(this.attachments);\n }\n }\n\n private convertBytesToKilobytes(bytes: number)\n {\n return bytes / 1024;\n }\n}","export class AttachmentFile {\n fileName: string;\n contentType: string;\n content: any;\n}\n\nexport class AttachmentInfo{\n public id: number;\n public name: string;\n public size: string;\n public extension: string;\n public createdDate: Date;\n public fileString: string;\n public contentType: string;\n}\n\nexport class AttachmentUploadParameter {\n public file: string;\n public fileName: string;\n public objectTypeId : number;\n public objectId : number;\n public controller : string;\n}\n\nexport class AttachmentDeleteParameter {\n public attachmentId : number;\n public controller : string;\n}\n\nexport interface AttachmentHolder {\n attachments: AttachmentInfo[];\n objectTypeId : number;\n id : number;\n}","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../core/rest.service\";\nimport { AttachmentUploadParameter, AttachmentFile, AttachmentDeleteParameter, AttachmentInfo } from \"./attachments.model\";\nimport { Http } from '@angular/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttachmentRest {\n constructor(private http: RestService, private httpClient: Http) { }\n\n public addAttachmentAndGetMetadata(parameter: AttachmentUploadParameter) {\n return this.http.post(`api/${parameter.controller}/attachments/add`, parameter);\n }\n\n public get(attachmentId: number, controller: string) {\n return this.http.get(`api/${controller}/attachments/get/${attachmentId}`);\n }\n\n public getFiles(objectTypeId: number, objectId: number, controller: string) {\n return this.http.get(`api/${controller}/attachments/get/${objectTypeId}/${objectId}`);\n }\n\n public getAttachmentsGrid(path: string) {\n return this.http.get(path);\n }\n\n public delete(parameter: AttachmentDeleteParameter) {\n return this.http.post('api/' + parameter.controller + '/attachments/delete', { attachmentId: parameter.attachmentId });\n }\n \n public checkFileNames(controller: string, filename: string, objectTypeId: number, objectId: number) {\n return this.http.get(`api/${controller}/checkfilenames/${filename}/${objectTypeId}/${objectId}`);\n }\n}","module.exports = \"\\r\\n
\\r\\n \\r\\n \"","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { CalendarItem, DateRange } from './calendar.model';\nimport { SpinnerService } from '../../services/spinner-handler/spinner-handler.service';\nimport { ResizeEvent } from 'angular-resizable-element';\ndeclare var $: any;\n\n@Component({\n selector: 'app-calendar',\n templateUrl: './calendar.component.html'\n})\nexport class CalendarComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() isEditable: boolean = true;\n @Input() isDragAndDrop: boolean = true;\n @Input() showOnlyMonthView: boolean = false;\n @Input() set items(newItems: Array) {\n this._items = newItems;\n if (this.$calendar != undefined) {\n this.$calendar.removeEvents();\n this.$calendar.renderEvents(this._items, true);\n }\n }\n get items(): Array {\n return this._items;\n }\n\n @Output() onItemClick = new EventEmitter();\n @Output() onDayClick = new EventEmitter();\n @Output() onPrevClick = new EventEmitter();\n @Output() onNextClick = new EventEmitter();\n @Output() onTodayClick = new EventEmitter();\n @Output() onDateNavClick = new EventEmitter();\n\n public currentDateRange: DateRange;\n\n private _items = new Array();\n private selectedEvent: any;\n private $calendar: any;\n private calendarOptions: any = this.getInitOptions();\n\n @ViewChild('fullcalendar') fullcalendar: ElementRef;\n\n constructor() { }\n\n ngOnInit() {\n this.calendarOptions.editable = this.isEditable;\n this.calendarOptions.droppable = this.isDragAndDrop;\n this.calendarOptions.eventSources = [this._items];\n this.calendarOptions.header = {\n left: 'myPrev,myNext myToday',\n center: 'title',\n right: ''\n };\n if (!this.showOnlyMonthView) {\n this.calendarOptions.header.right = 'month,agendaWeek,agendaDay';\n }\n\n }\n\n ngAfterViewInit() {\n let calendarRef = $(this.fullcalendar.nativeElement);\n calendarRef.fullCalendar(this.calendarOptions);\n this.$calendar = calendarRef.fullCalendar('getCalendar');\n\n this.currentDateRange = this.getCurrentDateRange();\n //this.onDateNavClick.emit(currentDateRange);\n }\n\n public onMyPrev() {\n $('#calendar').fullCalendar('prev');\n let currentDateRange = this.getCurrentDateRange();\n this.onPrevClick.emit(currentDateRange);\n this.onDateNavClick.emit(currentDateRange);\n }\n\n public onMyNext() {\n $('#calendar').fullCalendar('next');\n let currentDateRange = this.getCurrentDateRange();\n this.onNextClick.emit(currentDateRange);\n this.onDateNavClick.emit(currentDateRange);\n }\n\n public onMyToday() {\n $('#calendar').fullCalendar('today');\n let currentDateRange = this.getCurrentDateRange();\n this.onTodayClick.emit(currentDateRange);\n this.onDateNavClick.emit(currentDateRange);\n }\n\n public getCurrentDateRange(): DateRange {\n let currentView = this.$calendar.getView();\n let currentStart = new Date(currentView.intervalStart._d.setHours(0));\n let currentEndTemp = currentView.intervalEnd._d;\n let currentEnd = new Date(currentEndTemp.getFullYear(), currentEndTemp.getMonth(), 0);\n let dateRange = { start: currentStart, end: currentEnd };\n\n return dateRange;\n }\n\n private eventClick(calEvent, jsEvent, view) {\n this.selectedEvent = {\n title: calEvent.title,\n start: calEvent.start,\n url: calEvent.url || ''\n };\n\n this.onItemClick.emit(calEvent);\n }\n\n private dayClick(date, jsEvent, view) {\n this.selectedEvent = {\n date: date.format()\n };\n\n this.onDayClick.emit(this.selectedEvent);\n }\n\n private onItemRender(info: any, el: any) {\n el.attr('title', info.title);\n }\n\n private getInitOptions() {\n let options = {\n customButtons: {\n myPrev: {\n click: this.onMyPrev.bind(this),\n icon: ' fas fa-caret-left'\n },\n myNext: {\n click: this.onMyNext.bind(this),\n icon: ' fas fa-caret-right'\n },\n myToday: {\n text: 'dziś',\n click: this.onMyToday.bind(this)\n }\n },\n buttonIcons: { // note the space at the beginning\n prev: ' fas fa-caret-left',\n next: ' fas fa-caret-right'\n },\n buttonText: {\n month: 'miesiąc',\n week: 'tydzień',\n day: 'dzień'\n },\n timeFormat: 'H:mm',\n editable: this.isEditable,\n droppable: this.isDragAndDrop,\n eventClick: this.eventClick.bind(this),\n dayClick: this.dayClick.bind(this),\n eventRender: this.onItemRender.bind(this),\n locale: 'pl',\n eventLimit: 4,\n businessHours: {\n dow: [1, 2, 3, 4, 5], // Monday - Friday\n\n start: '8:00', // a start time\n end: '16:00', // an end time\n },\n minTime: '06:00:00',\n maxTime: '18:00:00',\n nowIndicator: true,\n handleWindowResize: true,\n aspectRatio: 1.8,\n eventLimitText: 'więcej',\n views: {\n month: {\n locale: 'pl',\n displayEventTime: false\n },\n basic: {\n locale: 'pl'\n },\n agenda: {\n locale: 'pl'\n },\n week: {\n locale: 'pl'\n },\n day: {\n locale: 'pl'\n }\n }\n };\n\n return options;\n }\n\n ngOnDestroy() {\n this.$calendar.destroy();\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n

{{ element.name }}

\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n\\n\"","import { Component, OnInit, Input, EventEmitter, Output, ViewChild, HostListener, OnDestroy } from '@angular/core';\nimport { DateInputModel } from './date-input.model';\nimport { BsLocaleService } from 'ngx-bootstrap';\nimport { defineLocale } from 'ngx-bootstrap/chronos';\nimport { plLocale } from 'ngx-bootstrap/locale';\ndefineLocale('pl', plLocale); \n\n\n@Component({\n selector: 'smp-date-input',\n //template: `

{{ element.name }}

`\n templateUrl: './date-input.component.html',\n})\nexport class DateInputComponent implements OnInit { \n @Input() element: DateInputModel;\n @Input() withTime: boolean;\n @Input() showClearButton: boolean = false;\n @Input() showTextInfo: boolean = true;\n @Output() validated = new EventEmitter(false);\n public dateFormat = 'dd.MM.yyyy';\n\n // private elementValue: FormControl;\n // private form: FormGroup;\n // private showDateTime = false;\n // private fullDateTime: Date;\n // private fullDateTimeInString = '';\n // private date: Date;\n // private time = new Date();\n\n locale = 'pl'; \n\n bsConfig = {\n containerClass: 'theme-angle'//,\n //dateInputFormat: 'YYYY-MM-DD'\n }\n\n constructor(private localeService: BsLocaleService) { \n this.localeService.use(this.locale);\n }\n\n ngOnInit() {\n //this.time.setSeconds(0);\n \n //this.withTime = this.element.withTime; \n //this.elementValue = this.builder.control('', this.createValidators());\n\n //this.elementValue.valueChanges.subscribe(() => this.onValueChange());\n //this.form = this.builder.group({ 'elementValue': this.elementValue });\n\n \n \n }\n\n private onValueChange(event) {\n //if (this.elementValue.valid) { \n // this.element.valueStr = this.elementValue.value.toLocaleString('pl-PL',{year:\"numeric\",month:\"2-digit\", day:\"2-digit\"});\n // this.element.value = this.elementValue.value;\n // this.validated.emit(this.elementValue.valid);\n //}\n if(event == null) {\n this.element.value = null;\n this.validated.emit(true);\n return;\n }\n\n this.element.valueStr = event.toLocaleString('pl-PL');\n this.element.value = event; \n //this.element.value.setUTCHours(this.element.value.getUTCHours() - (this.element.value.getTimezoneOffset() / 60));\n\n this.validated.emit(true);\n }\n\n private clear() {\n this.element.value = null;\n this.validated.emit(true);\n }\n\n // private setToday() {\n // this.element.value = new Date();\n // this.validated.emit(true);\n // }\n\n // private createValidators(): ValidatorFn {\n // if (this.element && this.element.isRequired) {\n // return Validators.compose([Validators.required]);\n // }\n // }\n\n // private getFullDateTime() {\n // if (this.date) {\n // this.fullDateTime = this.date;\n // if (this.withTime) {\n // this.fullDateTime.setHours(this.time.getHours());\n // this.fullDateTime.setMinutes(this.time.getMinutes());\n // this.element.valueStr = this.fullDateTime.toLocaleString('pl-PL',{year:\"numeric\",month:\"2-digit\", day:\"2-digit\"});\n // this.element.value = this.fullDateTime\n // this.fullDateTimeInString = this.fullDateTime.toLocaleString();\n // } else {\n // this.element.valueStr = this.fullDateTime.toLocaleDateString('pl-PL',{year:\"numeric\",month:\"2-digit\", day:\"2-digit\"});\n // this.element.value = this.fullDateTime;\n // this.fullDateTimeInString = this.fullDateTime.toLocaleDateString('pl-PL',{year:\"numeric\",month:\"2-digit\", day:\"2-digit\"});\n // }\n // } else {\n // this.fullDateTimeInString = this.element.valueStr;\n // }\n // }\n\n // private clearDate() {\n // setTimeout(() => {\n // this.date = this.fullDateTime = null;\n // this.time = new Date();\n // this.time.setSeconds(0);\n // this.element.valueStr = '';\n // this.showDateTime = false;\n // this.getFullDateTime();\n // });\n // }\n\n // private setDateTime() { \n // setTimeout(() => this.getFullDateTime());\n // } \n}\n","export class DateInputModel {\n name: string;\n isReadOnly: boolean;\n isRequired: boolean;\n withTime: boolean;\n valueStr: string; \n value: Date; \n internalName: string; \n dateFormat: string;\n}","import { SelectionMode } from '../grid/grid.model';\n\nexport class DialogConfig {\n title?: string;\n maxwidth?: string;\n selectionMode: SelectionMode;\n data?: D;\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[dialogChildInsertion]'\r\n})\r\nexport class DialogChildInsertionDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}","import { Injector, Type, InjectionToken, InjectFlags } from '@angular/core';\n\nexport class DialogInjector implements Injector {\n constructor(private _parentInjector: Injector, private _additionalTokens: WeakMap) {}\n\n get(token: Type | InjectionToken, notFoundValue?: T, flags?: InjectFlags): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any, flags?: any) {\n const value = this._additionalTokens.get(token);\n\n if (value) return value;\n\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n","import { Observable, Subject } from 'rxjs';\nimport { DialogConfig } from './dialog-config';\n\nexport class DialogRef {\n constructor(dialogConf: DialogConfig ) {\n this.dialogConfig = dialogConf;\n }\n\n public dialogConfig: DialogConfig;\n \n close(result?: any) {\n this._afterClosed.next(result);\n }\n\n private readonly _afterClosed = new Subject();\n afterClosed: Observable = this._afterClosed.asObservable();\n}\n","module.exports = \"\\r\\n

\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\"","import { Component, AfterViewInit, OnDestroy, ComponentRef, ViewChild, Type, ChangeDetectorRef, ComponentFactoryResolver } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogRef } from './dialog-ref';\r\nimport { DialogChildInsertionDirective } from './dialog-directive';\r\nimport { ModalComponent } from '../modal/modal.component';\r\nimport { SelectionMode } from '../grid/grid.model';\r\n\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html'\r\n})\r\nexport class DialogComponent implements AfterViewInit, OnDestroy {\r\n componentRef: ComponentRef;\r\n\r\n @ViewChild(DialogChildInsertionDirective) insertionPoint: DialogChildInsertionDirective;\r\n @ViewChild(ModalComponent) modal: ModalComponent;\r\n\r\n public title: string;\r\n public maxwidth: string;\r\n public selectionMode: SelectionMode = SelectionMode.none;\r\n private get selectionModes() { return SelectionMode; }\r\n\r\n private readonly _onClose = new Subject();\r\n public onClose = this._onClose.asObservable();\r\n\r\n childComponentType: Type;\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private dialogRef: DialogRef\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n this.setConfiguredValues();\r\n\r\n if(this.maxwidth) {\r\n this.modal.openWithCustomSize({maxwidth: this.maxwidth});\r\n } else {\r\n this.modal.open();\r\n }\r\n\r\n this.loadChildComponent(this.childComponentType);\r\n this.cd.detectChanges();\r\n }\r\n\r\n loadChildComponent(componentType: Type) {\r\n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n let viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n\r\n if(this.dialogRef.dialogConfig.data) {\r\n this.componentRef.instance.dialogConfigData = this.dialogRef.dialogConfig.data;\r\n }\r\n\r\n if(this.selectionMode == SelectionMode.single) {\r\n this.componentRef.instance.onItemSelected.subscribe((item) => { this.close(item)});\r\n }\r\n\r\n if(this.selectionMode == SelectionMode.none) {\r\n this.componentRef.instance.onDialogClose.subscribe((data) => { this.close(data)});\r\n } else {\r\n this.componentRef.instance.selectionMode = this.selectionMode;\r\n }\r\n\r\n this.componentRef.instance.isOnDialog = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n\r\n close(result?: any) {\r\n this.dialogRef.close(result);\r\n this.modal.close();\r\n }\r\n\r\n returnSelectedItems() {\r\n let selectedItems = this.componentRef.instance.grid.getSelectedItems();\r\n this.close(selectedItems);\r\n }\r\n\r\n setConfiguredValues() {\r\n this.selectionMode = this.dialogRef.dialogConfig.selectionMode;\r\n this.title = this.dialogRef.dialogConfig.title;\r\n this.maxwidth = this.dialogRef.dialogConfig.maxwidth;\r\n }\r\n\r\n confirmDialog() {\r\n this.componentRef.instance.confirmDialog();\r\n }\r\n\r\n closeDialog() {\r\n this.componentRef.instance.closeDialog();\r\n }\r\n}\r\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, Type, EmbeddedViewRef, ComponentRef } from '@angular/core';\nimport { DialogConfig } from './dialog-config';\nimport { DialogRef } from './dialog-ref';\nimport { DialogInjector } from './dialog-injector';\nimport { DialogComponent } from './dialog.component';\n\n\n@Injectable()\nexport class DialogService {\n dialogComponentRef: ComponentRef;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public open(componentType: Type, config: DialogConfig) {\n const dialogRef = this.appendDialogComponentToBody(config);\n\n this.dialogComponentRef.instance.childComponentType = componentType;\n\n return dialogRef;\n }\n\n private appendDialogComponentToBody(config: DialogConfig) {\n const map = new WeakMap();\n map.set(DialogConfig, config);\n\n const dialogRef = new DialogRef(config);\n map.set(DialogRef, dialogRef);\n\n const sub = dialogRef.afterClosed.subscribe(() => {\n this.removeDialogComponentFromBody();\n sub.unsubscribe();\n });\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\n const componentRef = componentFactory.create(new DialogInjector(this.injector, map));\n\n this.appRef.attachView(componentRef.hostView);\n\n const domElem = (componentRef.hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.dialogComponentRef = componentRef;\n\n this.dialogComponentRef.instance.onClose.subscribe(() => {\n this.removeDialogComponentFromBody();\n });\n\n return dialogRef;\n }\n\n private removeDialogComponentFromBody() {\n this.appRef.detachView(this.dialogComponentRef.hostView);\n this.dialogComponentRef.destroy();\n }\n}\n","module.exports = \"\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
\\n
\\n
\\n \\n\\n
\"","import { Component, OnInit, ViewChild, EventEmitter, Output, HostListener } from '@angular/core';\nimport { ObjectToSelect } from '../objectToSelect.model';\nimport { EmployeesRest } from '../../../company/employees/employee.rest';\nimport { NgForm } from '@angular/forms';\nimport { ModalComponent } from '../modal/modal.component';\nimport { NotificationForEmployee } from '../../../absences/absences.model';\nimport { INgxSelectOption } from 'ngx-select-ex';\n\n@Component({\n selector: 'app-employee-id-selection',\n templateUrl: './employee-id-selection.component.html',\n})\nexport class EmployeeIdSelectionComponent implements OnInit {\n\n public currentEmployeer: String;\n public employees: ObjectToSelect[];\n public notificationEmployeeId: number;\n private employeesOpen = false;\n private isSaving = false;\n\n constructor(private rest: EmployeesRest) { }\n\n @ViewChild('employeeSelectionForm') employeeSelectionForm: NgForm;\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @Output() onSuccess: EventEmitter<{ isSuccess: boolean, selectedEmployeeId: any }> = new EventEmitter<{ isSuccess: boolean, selectedEmployeeId: any }>();\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.employeeSelectionForm.valid) {\n this.confirm();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.modal.title = 'Wybierz pracownika';\n }\n\n public selectEmployee(employees: ObjectToSelect[], existingEmployeeIds: number[]) {\n this.employees = employees.filter(x => existingEmployeeIds.every(employeeId => employeeId !== x.id));\n this.modal.openWithCustomSize({ height: '25vh', width: '450px' });\n }\n\n\n public closeModal() {\n this.modal.close();\n }\n\n private confirm() {\n if (this.isSaving) {\n return;\n }\n\n this.addNotificationEmployee();\n }\n\n private addNotificationEmployee() {\n this.onSuccess.emit({ isSuccess: true, selectedEmployeeId: this.notificationEmployeeId });\n this.modal.close();\n }\n\n private onOpen() {\n this.employeesOpen = true;\n }\n\n private onClose() {\n this.employeesOpen = false;\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n}\n","module.exports = \"
\\n
\\n \\n
\\n
\\n
\"","module.exports = \".contentHolder {\\n display: flex;\\n flex-direction: row; }\\n\\napp-item-selection {\\n width: 100%; }\\n\\n.mobileScrollBar {\\n width: 0px;\\n border: none; }\\n\\n@media (max-width: 500px) {\\n app-item-selection {\\n width: 85%; }\\n .mobileScrollBar {\\n width: 15%;\\n border: 1px solid #eee;\\n margin: 2px; } }\\n\"","import { Component, OnInit, Input, EventEmitter, AfterViewInit } from '@angular/core';\nimport { GridHeader } from '../grid.model';\nimport { DialogControl } from '../../dialog/dialog.model';\n\n@Component({\n selector: 'app-column-editor',\n templateUrl: './column-editor.component.html',\n styleUrls: ['./column-editor.component.scss']\n})\nexport class ColumnEditorComponent implements OnInit, AfterViewInit, DialogControl {\n \n public dialogConfigData: any;\n public onDialogClose: EventEmitter = new EventEmitter();\n isConfirmButtonDisabled: boolean = false;\n\n private items: GridHeader[];\n\n constructor() { }\n\n ngOnInit() {\n this.processDialogConfig();\n }\n\n ngAfterViewInit() {\n }\n\n public closeDialog() {\n this.onDialogClose.emit();\n }\n\n public confirmDialog() {\n if(!this.items.some(item => item.isVisible)) {\n sweetAlert(\"Przynajmniej 1 kolumna musi być widoczna.\");\n return;\n }\n\n let visibleItems = [];\n let columnSettings = {};\n for (let index = 0; index < this.items.length; index++) {\n const item = this.items[index];\n if(item.isVisible == true) {\n visibleItems.push(item);\n }\n columnSettings[item.propertyName] = {index: index, isVisible: item.isVisible};\n }\n\n this.onDialogClose.emit({visibleItems: visibleItems, columnSettings: columnSettings});\n }\n\n private processDialogConfig() {\n if(!this.dialogConfigData){\n return;\n }\n\n if (this.dialogConfigData['items']) {\n this.items = this.dialogConfigData['items'];\n }\n }\n\n}\n","module.exports = \"
\\n \\n \\n
\"","import { Component, OnInit, Input, Output, ViewChild, EventEmitter, AfterViewInit, OnChanges, SimpleChanges, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'app-grid-checkbox-filter',\n templateUrl: './grid-checkbox-filter.component.html',\n styles: []\n})\nexport class GridCheckboxFilterComponent implements AfterViewInit, OnChanges {\n @Input() actualFilterState: string;\n @Input() isReadonly: boolean = false;\n @Output() stateChanged = new EventEmitter();\n @ViewChild('filterCheckbox') checkbox: ElementRef;\n private actualInnerState = '';\n\n constructor() { }\n\n ngAfterViewInit() {\n if(this.actualFilterState) {\n this.actualInnerState = this.actualFilterState;\n switch (this.actualFilterState) {\n case 'true':\n this.setChecked(this.checkbox.nativeElement);\n break;\n\n case 'false':\n this.setUnChecked(this.checkbox.nativeElement);\n break;\n \n default:\n this.setIndeterminate(this.checkbox.nativeElement);\n break;\n }\n } else {\n this.setIndeterminate(this.checkbox.nativeElement);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['actualFilterState']) {\n const currentValue = changes['actualFilterState'].currentValue;\n if (currentValue === '' && currentValue !== this.actualInnerState) {\n this.setIndeterminate(this.checkbox.nativeElement);\n }\n }\n }\n\n changeState(event) {\n if(this.isReadonly === true) {\n return;\n }\n\n const el = event.target;\n if (el.readOnly) {\n this.setUnChecked(el);\n this.stateChanged.emit('false');\n } else {\n if (!el.checked) {\n this.setIndeterminate(el);\n this.stateChanged.emit('');\n } else {\n this.stateChanged.emit('true');\n }\n }\n }\n\n private setIndeterminate(el: any) {\n this.actualInnerState = '';\n el.readOnly = el.indeterminate = true;\n }\n\n private setChecked(el: any) {\n this.actualInnerState = 'true';\n el.indeterminate = el.readOnly = false;\n el.checked = true;\n }\n\n private setUnChecked(el: any) {\n this.actualInnerState = 'false';\n el.checked = el.readOnly = false;\n }\n}","module.exports = \"\\n {{ header.displayName }}\\n \\n \\n \"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-grid-header',\n templateUrl: './grid-header.component.html',\n styles: []\n})\nexport class GridHeaderComponent implements OnInit {\n \n public headers: any[];\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}","module.exports = \"
\\n \\n
\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CustomButton } from '../grid.model';\n\n@Component({\n selector: 'app-grid-row-buttons',\n templateUrl: './grid-row-buttons.component.html',\n styles: []\n})\nexport class GridRowButtonsComponent implements OnInit {\n \n @Input() buttons: CustomButton[];\n @Input() row: any;\n @Output() buttonClicked = new EventEmitter();\n public visibleButtons: CustomButton[];\n \n constructor() { }\n \n ngOnInit() {\n this.visibleButtons = this.buttons.filter(b => this.checkIfCustomButtonVisible(b, this.row));\n }\n \n private checkIfCustomButtonVisible(button, row) {\n if (button.isVisible) {\n return button.isVisible(row);\n } else {\n return true;\n }\n }\n \n }","module.exports = \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n 0\\\" id=\\\"groupFuncRow\\\">\\n \\n \\n \\n \\n
\\n \\n \\n {{ header.displayName }}\\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n \\n \\n \\n {{ row[header.propertyName] | date:header.dateFormat==null ? dateFormat : header.dateFormat }}\\n {{ row[header.propertyName] }} \\n \\n \\n\\n \\n \\n
\\n \\n \\n
\\n {{groupedValues[header.propertyName].func}}:
\\n \\n {{groupedValues[header.propertyName].value | date:dateFormat }}\\n \\n \\n {{groupedValues[header.propertyName].value}}\\n \\n
\\n
\\n\\n
\\n
\\n \\n {{ ((currentPage * pageSize) + 1) | ifNaN }} - {{ getLastVisibleElement() | ifNaN}} / {{ dataSize | ifNaN }}\\n \\n \\n
\\n \\n
\\n
\\n\\n\\n \\n \\n Edytuj kolumny\\n \\n\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n\"","module.exports = \".dictionarygrid {\\n width: 50%; }\\n\\ntr:nth-child(even) {\\n background-color: #f2f2f2; }\\n\\n.gridHeader {\\n color: rgba(0, 0, 0, 0.8); }\\n\\n.row.dataTables_footer {\\n width: 100%;\\n margin-left: 0px;\\n margin-right: 0px;\\n margin-bottom: 3px;\\n align-items: center; }\\n\\n.dataTables_info {\\n margin-right: 15px;\\n margin-bottom: 5px;\\n margin-top: 5px; }\\n\\n.dataTables_info_rowNumbers {\\n margin-right: 5px;\\n padding-left: 5px; }\\n\\n.dataTables_paginate .paginate_button {\\n cursor: pointer;\\n padding: 2px 4px; }\\n\\n.dataTables_paginate .paginate_button i {\\n color: #686868; }\\n\\n.dataTables_paginate .paginate_button:active,\\n.dataTables_paginate .paginate_button:hover:active {\\n color: #ffb968;\\n background-color: rgba(0, 0, 0, 0.3);\\n transition: 0.1s ease-in;\\n border-radius: 4px; }\\n\\n.dataTables_paginate .paginate_button:active i,\\n.dataTables_paginate .paginate_button:hover:active i {\\n color: #ffb968; }\\n\\n.dataTables_paginate .paginate_button:hover {\\n border-radius: 4px;\\n background-color: rgba(0, 0, 0, 0.1);\\n transition: 0.2s ease-in-out; }\\n\\n.dataTables_paginate .paginate_button.disabled:hover,\\n.dataTables_paginate .paginate_button.disabled:hover i {\\n background-color: inherit; }\\n\\n.dataTables_paginate .paginate_button.active {\\n color: #e54f2d;\\n font-weight: bold; }\\n\\n.dataTables_paginate .paginate_button.disabled,\\n.dataTables_paginate .paginate_button.disabled i,\\n.dataTables_paginate .paginate_button.disabled:active,\\n.dataTables_paginate .paginate_button.disabled:active i {\\n cursor: default;\\n color: silver; }\\n\\n.clearfilterfont {\\n font-weight: bold;\\n font-size: 14px !important; }\\n\\n#groupFuncRow {\\n background-color: transparent;\\n border-top: solid #bbb 1px; }\\n\\n.groupFunc {\\n font-weight: bold;\\n font-size: 0.8rem;\\n color: rgba(0, 0, 0, 0.7); }\\n\\n.checkColumn {\\n padding-left: 5px;\\n padding-right: 5px;\\n width: 1px; }\\n\\n.selectionCheck {\\n width: 18px;\\n height: 18px;\\n display: block; }\\n\\napp-tabmenu {\\n margin-left: 5px; }\\n\\n.addButton {\\n color: #4CAF50; }\\n\\ntr {\\n border-left: 4px solid transparent; }\\n\\ntd:not(.checkColumn) {\\n min-width: 70px; }\\n\\ninput[type=\\\"number\\\"]::-webkit-outer-spin-button,\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0; }\\n\\ninput[type=\\\"number\\\"] {\\n -moz-appearance: textfield; }\\n\\n.editButton,\\n.removeButton {\\n transition: color 150ms ease-in-out; }\\n\\n.editButton:hover,\\n.editButton:active,\\n.editButton:active:hover {\\n color: dodgerblue; }\\n\\n.removeButton:hover,\\n.removeButton:active,\\n.removeButton:active:hover {\\n color: #e31e1e; }\\n\\n.table > tbody > tr > td {\\n padding-left: 2px;\\n padding-right: 2px; }\\n\\n.ellipsify {\\n /* autoprefixer: off */\\n -webkit-box-orient: vertical;\\n padding-top: 8px;\\n max-width: 500px;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n line-height: 2;\\n max-height: 6rem; }\\n\\n.contextMenuItem button {\\n width: 100%; }\\n\"","import { Component, OnInit, Input, Output, OnDestroy, EventEmitter, ViewChild, ElementRef, AfterViewInit, HostListener } from '@angular/core';\nimport { GridHeader, GridResponse, CustomButton, CustomRow, CustomButtonAction, GridMainFilter, GoupedColumn, GroupFunction, SelectionMode, SortedColumn } from './grid.model';\nimport { Observable, Subscription, Subject } from 'rxjs';\nimport { DateInputModel } from '../date-input/date-input.model';\nimport { MenuButton } from '../tabmenu/tabmenu.model';\nimport { TabMenuComponent } from '../tabmenu/tabmenu.component';\nimport { SpinnerService } from '../../services/spinner-handler/spinner-handler.service';\nimport { ContextMenuComponent } from 'ngx-contextmenu';\nimport { ColumnEditorComponent } from './column-editor/column-editor.component';\nimport { DialogService } from '../dialog/dialog.service';\nimport { DialogConfig } from '../dialog/dialog-config';\nimport { GridRest } from './grid.rest';\n\n@Component({\n selector: 'app-grid',\n templateUrl: './grid.component.html',\n styleUrls: ['./grid.component.scss']\n})\nexport class GridComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() headers: GridHeader[];\n @Input() customButtons: CustomButton[] = [];\n @Input() customRow: CustomRow;\n @Input() filtrable: boolean = false;\n @Input() sortable: boolean = false;\n @Input() paged: boolean = false;\n @Input() pageSizes = [10, 25, 50, 150];\n @Input() pageSize: number = 10;\n @Input() allowAdding: boolean = false;\n @Input() editable: boolean = false;\n @Input() removable: boolean = false;\n @Input() dataRestPath: string;\n @Input() localData: any[];\n @Input() onlocalDataLoaded: EventEmitter;\n @Input() showGroupingRow: boolean = false;\n @Input() columnsToGroup: GoupedColumn[] = [];\n @Input() showMenu: boolean = false;\n @Input() menuButtons: MenuButton[];\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() initialFilters: any;\n @Input() lockInitialFilters: boolean = false;\n @Input() initialPageNumber: number = 0;\n @Input() initialPageSize: number;\n @Input() initialSortedColumn: SortedColumn;\n @Input() isWithMainFilter: boolean = false;\n @Input() withoutSpinner: boolean = false;\n @Input() selectedItemId: any;\n @Input() isSelectedItemUser: boolean = false;\n @Input() withRestoring = true;\n @Input() isModal = false;\n @Input() projectTypeName: string;\n @Input() editableColumns: boolean = true;\n\n @Output() onRowEdit = new EventEmitter();\n @Output() onRowDelete = new EventEmitter();\n @Output() onRowAdd = new EventEmitter();\n @Output() onCustomButtonAction = new EventEmitter();\n @Output() onRowFocus = new EventEmitter();\n @Output() onFiltersRestore = new EventEmitter();\n @Output() onAfterViewInit = new EventEmitter();\n @Output() onSelectedItemsChange = new EventEmitter();\n\n public rows: any[];\n public currentPage = 0;\n public dataSize = 1000;\n public previousPages: number[] = [];\n public currentPageNumber = 1;\n public nextPages: number[] = [];\n public pageCount = 10;\n public dateFilterValues: any = {};\n public mainFilter: GridMainFilter[];\n public groupedValues: any = {};\n public itemsCheck: boolean[] = [];\n public selectAll: boolean = false;\n public isAnyRowSelected: boolean = false;\n public filters: any = {};\n public sortedColumn: string;\n public isAsc: boolean;\n public focusedRowId: number;\n public isCtrlKeyPressed: boolean = false;\n public visibleHeaders: GridHeader[];\n public isBodyContextMenuEnabled: boolean = false;\n\n private isSortedNumber: boolean;\n private changeGridStateSource = new Subject();\n private changeGridState$ = this.changeGridStateSource.asObservable();\n private changeSubscription: Subscription;\n private changeDebounceTime: number = 300;\n private localDataLoadSubscription: Subscription;\n private dateFormat: string = 'dd.MM.yyyy';\n private columnSettings: any = {};\n private columnsSettingsJson: string;\n\n private headerTypesClasses: any = {\n bool: 'center middle-align text-center'\n };\n\n private get selectionModes() { return SelectionMode; }\n\n @ViewChild(TabMenuComponent) gridMenu: TabMenuComponent;\n @ViewChild('headerContextMenu') headerContextMenu: ContextMenuComponent;\n @ViewChild('bodyContextMenu') bodyContextMenu: ContextMenuComponent;\n\n constructor(\n private gridRest: GridRest,\n private spinnerService: SpinnerService,\n public dialog: DialogService\n ) {\n this.setLocalData = this.setLocalData.bind(this);\n this.configureForLocalProcessing = this.configureForLocalProcessing.bind(this);\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n if (event.which == 17) {\n this.isCtrlKeyPressed = true;\n }\n }\n\n @HostListener('document:keyup', ['$event'])\n handleKeyboardEvent2(event: KeyboardEvent) {\n if (event.which == 17) {\n this.isCtrlKeyPressed = false;\n }\n }\n\n public ngOnInit() {\n this.visibleHeaders = this.headers;\n if (this.onlocalDataLoaded != null) {\n this.localDataLoadSubscription = this.onlocalDataLoaded\n .subscribe(data => {\n this.setLocalData(data);\n //this.localData = data;\n this.configureForLocalProcessing();\n });\n }\n\n if (this.initialPageNumber > 0) {\n this.currentPage = this.initialPageNumber;\n this.currentPageNumber = this.currentPage + 1;\n }\n\n if (this.initialPageSize) {\n this.pageSize = this.initialPageSize;\n }\n\n this.headers.forEach(header => {\n if (header.propertyType === 'date') {\n this.dateFilterValues[header.propertyName] = new DateInputModel();\n if (this.initialFilters && this.initialFilters[header.propertyName]) {\n if (!(this.initialFilters[header.propertyName] instanceof Date)) {\n this.initialFilters[header.propertyName] = new Date(this.initialFilters[header.propertyName]);\n }\n this.dateFilterValues[header.propertyName].value = this.initialFilters[header.propertyName];\n this.dateFilterValues[header.propertyName].isReadOnly = this.lockInitialFilters;\n } else {\n this.dateFilterValues[header.propertyName].value = null;\n }\n this.filters[header.propertyName] = this.dateFilterValues[header.propertyName].value;\n } else {\n if (this.initialFilters && this.initialFilters[header.propertyName]) {\n this.filters[header.propertyName] = this.initialFilters[header.propertyName];\n } else {\n this.filters[header.propertyName] = '';\n }\n }\n });\n\n\n if (this.initialSortedColumn) {\n this.sortedColumn = this.initialSortedColumn.columnName;\n this.isAsc = this.initialSortedColumn.isAscending;\n }\n else {\n let sortedColumn = this.headers.filter(i => i.isInitSort == true)[0];\n if (sortedColumn != null) {\n this.sortedColumn = sortedColumn.propertyName;\n this.isAsc = sortedColumn.isInitSortAsc;\n\n if (sortedColumn.propertyType == 'number')\n this.isSortedNumber = true;\n else this.isSortedNumber = false;\n }\n else {\n this.sortedColumn = this.headers[0].propertyName;\n this.isAsc = true;\n\n if (this.headers[0].propertyType == 'number')\n this.isSortedNumber = true;\n else this.isSortedNumber = false;\n }\n }\n\n if (this.onlocalDataLoaded == null)\n this.changeGridStateSource.next({});\n\n }\n\n ngAfterViewInit() {\n this.onAfterViewInit.emit();\n this.changeSubscription = this.changeGridState$\n .debounceTime(this.changeDebounceTime)\n .switchMap(() =>\n this.loadData().catch((e: any) => Observable.of(null)))\n .subscribe((data: GridResponse) => {\n this.processData(data);\n if (!this.withoutSpinner && this.localData == null) {\n this.spinnerService.hide();\n }\n },\n (error) => {\n if (!this.withoutSpinner && this.localData == null) {\n this.spinnerService.hide();\n }\n });\n this.changeGridStateSource.next({});\n }\n\n errorHandler(error: any): void {\n console.log(error);\n }\n\n public ngOnDestroy() {\n this.changeSubscription.unsubscribe();\n }\n\n public refreshData(resetPage: boolean = true) {\n if (resetPage) {\n this.currentPage = 0;\n }\n this.changeGridStateSource.next({});\n }\n\n public getLastVisibleElement() {\n return ((this.currentPage * this.pageSize) + +this.pageSize);\n }\n\n changePreviousPage(newPage: number) {\n if (this.currentPage === 0) {\n return;\n } else {\n this.changePage(newPage);\n }\n }\n\n public setRestPath(dataRestPath: string) {\n this.dataRestPath = dataRestPath;\n }\n\n public changeNextPage(newPage: number) {\n if (this.currentPage >= this.pageCount - 1) {\n return;\n } else if (newPage >= this.pageCount) {\n this.changePage(newPage - 1);\n } else {\n this.changePage(newPage);\n }\n }\n\n private onFiltersChange() {\n this.currentPage = 0;\n this.focusedRowId = undefined;\n this.changeGridStateSource.next({});\n }\n\n private sort(header: GridHeader) {\n if (!this.sortable) {\n return;\n }\n\n if (header.propertyName === this.sortedColumn) {\n this.isAsc = !this.isAsc;\n } else {\n this.sortedColumn = header.propertyName;\n this.isAsc = true;\n\n if (header.propertyType === 'number') {\n this.isSortedNumber = true;\n } else { this.isSortedNumber = false; }\n }\n // this.withRestoring = false;\n this.currentPage = 0;\n this.focusedRowId = undefined;\n this.changeGridStateSource.next({});\n }\n\n private resetFilters() {\n this.headers.forEach(header => {\n if (header.propertyType === 'date') {\n this.dateFilterValues[header.propertyName].value = null;\n this.filters[header.propertyName] = this.dateFilterValues[header.propertyName].value;\n } else {\n this.filters[header.propertyName] = '';\n }\n });\n this.currentPage = 0;\n this.changeGridStateSource.next({});\n }\n\n public refreshAndLoadData() {\n const request = {\n filter: {},\n orderBy: this.sortedColumn,\n isAscending: this.isAsc,\n pageNumber: this.currentPage,\n pageSize: 1000,\n mainFilter: this.mainFilter,\n withRestoring: this.withRestoring,\n isModal: this.isModal\n };\n\n if (this.dataRestPath) {\n return this.gridRest.getGridData(this.dataRestPath, request)\n .catch((e: any) => Observable.of(null))\n .subscribe(\n data => {\n this.setLocalData(data.elements);\n //this.localData = data;\n this.processLocalData();\n this.processData(data);\n this.configureForLocalProcessing();\n },\n (error) => {\n if (!this.withoutSpinner) {\n this.spinnerService.hide();\n }\n });\n }\n }\n\n private loadData() {\n if (this.localData != null) {\n return this.processLocalData();\n }\n if (this.localDataLoadSubscription != null) {\n return;\n }\n\n if (!this.withoutSpinner) {\n this.spinnerService.show();\n }\n\n if (this.isWithMainFilter && !this.mainFilter) {\n return Observable.of(null);\n }\n\n let request = {\n filter: this.filters,\n orderBy: this.sortedColumn,\n isAscending: this.isAsc,\n pageNumber: this.currentPage,\n pageSize: this.pageSize,\n mainFilter: this.mainFilter,\n withRestoring: this.withRestoring,\n isModal: this.isModal\n };\n\n if (this.selectedItemId) {\n let propertyName = this.isSelectedItemUser ? 'userId' : 'itemId';\n request[propertyName] = this.selectedItemId;\n }\n\n if (this.dataRestPath) {\n return this.gridRest.getGridData(this.dataRestPath, request);\n }\n return Observable.of({});\n }\n\n private processData(data: GridResponse) {\n if (!data) {\n this.dataSize = 0;\n return;\n }\n\n this.processColumnSettings(data.columnsSettings, data.orderBy);\n\n this.rows = data.elements;\n this.dataSize = data.count;\n this.currentPage = data.pageNumber;\n this.pageCount = Math.ceil(this.dataSize / this.pageSize);\n if (this.currentPage >= this.pageCount) {\n this.currentPage = 0;\n if (data.count > 0) {\n this.refreshData();\n }\n this.mainFilter = data.restoredFilters;\n this.sortedColumn = data.orderBy;\n this.isAsc = data.isAscending;\n this.onFiltersRestore.emit(this.mainFilter);\n this.withRestoring = false;\n return;\n }\n\n this.fillPaginationArrays();\n\n if (this.showGroupingRow && this.rows && this.rows.length > 0) {\n this.processColumnGrouping();\n }\n\n if (this.selectionMode === SelectionMode.multi && this.rows) {\n this.prepareRowsForChecking();\n }\n\n if (this.selectedItemId) {\n setTimeout(() => {\n this.setSelectedRowId();\n this.scrollToSelectedRow();\n }, 200);\n }\n if (data.elements) {\n if (this.withRestoring) {\n this.sortedColumn = data.orderBy;\n this.mainFilter = data.restoredFilters;\n this.isAsc = data.isAscending;\n this.onFiltersRestore.emit(this.mainFilter);\n }\n this.withRestoring = false;\n }\n }\n\n private processLocalData() {\n var processedData = this.filterLocalData();\n return Observable.of(processedData);\n }\n\n private filterLocalData() {\n var dataToProcess = this.localData;\n var processResult = { elements: [], count: 0, pageNumber: 0, orderBy: this.sortedColumn, isAscending: this.isAsc };\n ``\n if (this.filtrable) {\n let propertiesToFilter = Object.getOwnPropertyNames(this.filters);\n if (dataToProcess.length === 0)\n return processResult;\n\n propertiesToFilter.forEach(prop => {\n dataToProcess.forEach(row => {\n if (row[prop] == null) row[prop] = '';\n });\n if (this.filters[prop] !== null) {\n if (dataToProcess[0] != undefined && dataToProcess[0][prop] != 'undefined' && (typeof dataToProcess[0][prop] === \"string\" || typeof dataToProcess[0][prop] === \"object\")) {\n let header = this.headers.find(h => h.propertyName === prop);\n if (header && header.propertyType === 'date') {\n dataToProcess = dataToProcess.filter(row => new Date(row[prop]).toDateString() === (this.filters[prop] as Date).toDateString());\n }\n else\n dataToProcess = dataToProcess.filter(row => row[prop].toLowerCase().includes(this.filters[prop].toLowerCase()));\n }\n else if (dataToProcess[0] != undefined && dataToProcess[0][prop] != 'undefined' && typeof dataToProcess[0][prop] === \"number\")\n dataToProcess = dataToProcess.filter(row => row[prop] >= this.filters[prop]);\n }\n });\n }\n\n let header = this.headers.find(h => h.propertyName === this.sortedColumn);\n if (this.isSortedNumber) {\n dataToProcess = this.isAsc ? dataToProcess.sort((a: number, b: number) => a[this.sortedColumn] - b[this.sortedColumn])\n : dataToProcess.sort((a: number, b: number) => b[this.sortedColumn] - a[this.sortedColumn]);\n } else if (header && header.propertyType === 'date') {\n dataToProcess = this.isAsc ? dataToProcess.sort((a: Date, b: Date) => new Date(a[this.sortedColumn]).valueOf() < new Date(b[this.sortedColumn]).valueOf() ? -1 : 1)\n : dataToProcess.sort((a: Date, b: Date) => new Date(a[this.sortedColumn]).valueOf() >= new Date(b[this.sortedColumn]).valueOf() ? -1 : 1);\n } else {\n dataToProcess = this.isAsc ? dataToProcess.sort((a: any, b: any) => a[this.sortedColumn] < b[this.sortedColumn] ? -1 : 1)\n : dataToProcess.sort((a: any, b: any) => a[this.sortedColumn] >= b[this.sortedColumn] ? -1 : 1);\n }\n\n\n if (this.paged) {\n let selectedIndex = dataToProcess.findIndex(x => x.id === this.selectedItemId);\n if (selectedIndex !== -1 && dataToProcess.length > this.pageSize) {\n this.currentPage = Math.floor(selectedIndex / this.pageSize);\n }\n\n this.pageCount = Math.ceil(this.dataSize / this.pageSize);\n if (this.currentPage >= this.pageCount && this.pageCount > 0) {\n this.currentPage = 0;\n if (dataToProcess.length > 0)\n this.refreshData();\n return;\n }\n }\n\n processResult.count = dataToProcess.length;\n processResult.pageNumber = this.currentPage;\n let firstRowIndex: number = this.currentPage * this.pageSize;\n dataToProcess = dataToProcess.slice(firstRowIndex, firstRowIndex + this.pageSize);\n processResult.elements = dataToProcess;\n\n\n if (this.selectedItemId) {\n setTimeout(() => {\n this.setSelectedRowId();\n this.scrollToSelectedRow();\n }, 200);\n }\n return processResult;\n }\n\n private fillPaginationArrays() {\n const minPage = this.getMinPage();\n const maxPage = this.getMaxPage();\n\n this.previousPages = [];\n for (let i = minPage; i < this.currentPage; i++) {\n this.previousPages.push(i);\n }\n\n this.currentPageNumber = this.currentPage + 1;\n this.nextPages = [];\n\n for (let i = this.currentPage + 1; i < maxPage; i++) {\n this.nextPages.push(i);\n }\n }\n\n private changePage(newPage: number) {\n this.currentPage = newPage;\n this.focusedRowId = undefined;\n this.changeGridStateSource.next({});\n }\n\n private customTrackBy(index: number, obj: any): any {\n return index;\n }\n\n private remove(row: any) {\n if (this.removable) {\n this.onRowDelete.emit(row);\n }\n }\n\n private edit(row: any) {\n if (this.editable) {\n this.onRowEdit.emit(row);\n }\n }\n\n private add(event: any) {\n if (event.keyCode === 13) { //block enter keypress\n event.preventDefault();\n return;\n }\n if (this.allowAdding) {\n this.onRowAdd.emit();\n }\n }\n\n private customButtonAction(actionName: string, row: any) {\n this.onCustomButtonAction.emit({\n actionName: actionName,\n selectedRow: row\n });\n }\n\n private changePageSize(newPageSize: number) {\n this.pageSize = newPageSize;\n this.currentPage = 0;\n this.changeGridStateSource.next({});\n }\n\n private getMinPage() {\n return Math.max(this.currentPage - 3, 0);\n }\n\n private getMaxPage() {\n return Math.min(this.currentPage + 4, this.pageCount);\n }\n\n // private getRowClasses(row) {\n // if (this.customRow) {\n // return this.customRow.getRowClasses(row);\n // } else {\n // return '';\n // }\n // }\n\n private configureForLocalProcessing() {\n this.changeDebounceTime = 0;\n this.changeGridStateSource.next();\n }\n\n private setLocalData(data) {\n this.localData = data;\n }\n\n public onDateFilterChange(propertyName: string) {\n if (this.dateFilterValues[propertyName].value != null) {\n this.dateFilterValues[propertyName].value.setUTCHours(0, 0, 0, 0);\n }\n this.filters[propertyName] = this.dateFilterValues[propertyName].value;\n this.onFiltersChange();\n }\n\n private processColumnGrouping() {\n this.columnsToGroup.forEach(groupedColumn => {\n switch (groupedColumn.func) {\n case GroupFunction.sum:\n var header = this.headers.find(h => h.propertyName === groupedColumn.name);\n var isNumber = header.propertyType === 'number';\n var sum = this.getSumOfColumnValues(groupedColumn.name, isNumber);\n this.groupedValues[groupedColumn.name] = { func: 'SUM', value: sum };\n break;\n\n case GroupFunction.avg:\n var header = this.headers.find(h => h.propertyName === groupedColumn.name);\n var isNumber = header.propertyType === 'number';\n var sum = this.getSumOfColumnValues(groupedColumn.name, isNumber);\n var avg = sum / this.rows.length;\n this.groupedValues[groupedColumn.name] = { func: 'AVG', value: avg };\n break;\n\n case GroupFunction.min:\n var header = this.headers.find(h => h.propertyName === groupedColumn.name);\n if (header.propertyType === 'number') {\n var values = this.rows.map(row => row[groupedColumn.name]);\n var min = Math.min(...values);\n this.groupedValues[groupedColumn.name] = { func: 'MIN', value: min };\n } else {\n var minString = this.sortRowsByColumn(groupedColumn.name, true)[0][groupedColumn.name];\n this.groupedValues[groupedColumn.name] = { func: 'MIN', value: minString };\n }\n break;\n\n case GroupFunction.max:\n var header = this.headers.find(h => h.propertyName === groupedColumn.name);\n if (header.propertyType === 'number') {\n var values = this.rows.map(row => row[groupedColumn.name]);\n var max = Math.max(...values);\n this.groupedValues[groupedColumn.name] = { func: 'MAX', value: max };\n } else {\n var maxString = this.sortRowsByColumn(groupedColumn.name, false)[0][groupedColumn.name];\n this.groupedValues[groupedColumn.name] = { func: 'MAX', value: maxString };\n }\n break;\n }\n })\n }\n\n private getSumOfColumnValues(columnName: string, isNumber: boolean): number {\n var sum: number = 0;\n this.rows.forEach(row => {\n sum += isNumber ? (row[columnName] === \"\" ? 0 : row[columnName]) : +row[columnName];\n });\n\n return sum;\n }\n\n private sortRowsByColumn(columnName: string, asc: boolean): any[] {\n var sortedRows = asc\n ? this.rows.sort((a: any, b: any) => a[columnName] < b[columnName] ? -1 : 1)\n : this.rows.sort((a: any, b: any) => a[columnName] >= b[columnName] ? -1 : 1)\n return sortedRows;\n }\n\n private prepareRowsForChecking() {\n this.itemsCheck = [];\n this.selectAll = false;\n for (let index = 0; index < this.rows.length; index++) {\n const row = this.rows[index];\n row['checkRowId'] = index;\n this.itemsCheck[index] = false;\n }\n this.updateMenuButtonsState(false);\n }\n\n public updateAllSelections() {\n for (let i = 0; i < this.itemsCheck.length; i++) {\n this.itemsCheck[i] = this.selectAll;\n }\n this.updateMenuButtonsState(true);\n }\n\n public getSelectedItems(): any[] {\n if (!(this.selectionMode === SelectionMode.multi)) {\n return [];\n }\n\n var items = this.rows.filter(row => this.itemsCheck[row['checkRowId']]);\n return items;\n }\n\n public updateMenuButtonsState(fromSelectAll: boolean) {\n if (!this.menuButtons || !this.gridMenu) {\n return;\n }\n\n if (fromSelectAll === true) {\n this.isAnyRowSelected = this.selectAll;\n } else {\n this.isAnyRowSelected = this.itemsCheck.some(value => value === true);\n }\n\n this.isBodyContextMenuEnabled = this.menuButtons && this.menuButtons != null && this.menuButtons.some(butt =>\n (butt.enabled && !butt.isForSelected) || (butt.enabled && butt.isForSelected && this.isAnyRowSelected));\n }\n\n public checkSelection() {\n let selectedItems = this.getSelectedItems();\n this.onSelectedItemsChange.emit(selectedItems);\n }\n\n public focusRow(row: any, rowIndex: number) {\n if (this.selectionMode === SelectionMode.multi && this.isCtrlKeyPressed) {\n this.itemsCheck[row['checkRowId']] = !this.itemsCheck[row['checkRowId']];\n this.updateMenuButtonsState(false);\n }\n this.focusedRowId = rowIndex;\n this.onRowFocus.emit(row);\n }\n\n private setSelectedRowId() {\n if (!this.rows) {\n return;\n }\n if (this.selectedItemId) {\n for (let index = 0; index < this.rows.length; index++) {\n const row = this.rows[index];\n if (row.id === this.selectedItemId) {\n this.focusedRowId = index;\n break;\n }\n }\n this.selectedItemId = undefined;\n }\n }\n\n private scrollToSelectedRow() {\n if (!this.rows) {\n return;\n }\n let timeoutValue = this.rows.length * 25; //ms\n setTimeout(() => {\n let selectedRowRef = document.getElementById('selectedRow');\n if (selectedRowRef) {\n const elementRect = selectedRowRef.getBoundingClientRect();\n const absoluteElementTop = elementRect.top + window.pageYOffset;\n const middle = absoluteElementTop - (window.innerHeight / 2);\n window.scrollTo(0, middle);\n }\n }, timeoutValue);\n }\n\n public openColumnEditor() {\n let settingsCount = Object.keys(this.columnSettings).length;\n let tempItems = new Array(settingsCount);\n let endIndex = 0;\n\n this.headers.forEach(item => {\n let settings = this.columnSettings[item.propertyName];\n if (settings) {\n item.isVisible = settings.isVisible !== false;\n tempItems.splice(settings.index, 1, item);\n } else {\n item.isVisible = true;\n tempItems.splice(settingsCount + endIndex++, 0, item);\n }\n });\n\n tempItems = tempItems.filter(item => item);\n\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.none;\n dialogConf.title = 'Edycja kolumn';\n dialogConf.maxwidth = '350px';\n dialogConf.data = { items: tempItems };\n\n const dialogRef = this.dialog.open(ColumnEditorComponent, dialogConf);\n dialogRef.afterClosed.subscribe(data => {\n if (data) {\n this.visibleHeaders = data.visibleItems;\n this.columnSettings = data.columnSettings;\n let settingsJson = JSON.stringify(this.columnSettings);\n this.columnsSettingsJson = settingsJson;\n if (this.dataRestPath) {\n let gridPath = this.dataRestPath;\n if (this.projectTypeName) {\n gridPath += this.projectTypeName;\n }\n this.gridRest.saveColumnsSettings(gridPath, settingsJson).subscribe();\n }\n\n let isFiltersOrOrderingChanged = false;\n\n this.headers.forEach(header => {\n if (!this.visibleHeaders.some(item => item.propertyName === header.propertyName)) {\n if (header.propertyType === 'date') {\n if (this.filters[header.propertyName] !== null) {\n this.dateFilterValues[header.propertyName].value = null;\n this.filters[header.propertyName] = this.dateFilterValues[header.propertyName].value;\n isFiltersOrOrderingChanged = true;\n }\n } else {\n if (this.filters[header.propertyName] !== '') {\n this.filters[header.propertyName] = '';\n isFiltersOrOrderingChanged = true;\n }\n }\n }\n });\n\n if (!this.visibleHeaders.some(item => item.propertyName === this.sortedColumn)) {\n this.sortedColumn = this.visibleHeaders[0].propertyName;\n isFiltersOrOrderingChanged = true;\n }\n\n if (isFiltersOrOrderingChanged == true) {\n this.refreshData();\n }\n }\n });\n }\n\n private processColumnSettings(settingsJson: string, orderByFromResponse: string) {\n if (settingsJson == null || settingsJson === this.columnsSettingsJson) {\n return;\n }\n let tempSettings = JSON.parse(settingsJson);\n if (tempSettings == null || tempSettings == {}) {\n return;\n }\n\n this.columnSettings = tempSettings;\n let settingsCount = Object.keys(this.columnSettings).length;\n let tempItems = new Array(settingsCount);\n let endIndex = 0;\n\n this.headers.forEach(item => {\n let settings = this.columnSettings[item.propertyName];\n if (settings) {\n item.isVisible = settings.isVisible !== false;\n if (item.isVisible === true) {\n tempItems.splice(settings.index, 1, item);\n }\n } else {\n item.isVisible = true;\n tempItems.splice(settingsCount + endIndex++, 0, item);\n }\n });\n tempItems = tempItems.filter(item => item);\n\n let isFiltersOrOrderingChanged = false;\n\n this.headers.forEach(header => {\n if (!tempItems.some(item => item.propertyName === header.propertyName)) {\n if (header.propertyType === 'date') {\n if (this.filters[header.propertyName] !== null) {\n this.dateFilterValues[header.propertyName].value = null;\n this.filters[header.propertyName] = this.dateFilterValues[header.propertyName].value;\n isFiltersOrOrderingChanged = true;\n }\n } else {\n if (this.filters[header.propertyName] !== '') {\n this.filters[header.propertyName] = '';\n isFiltersOrOrderingChanged = true;\n }\n }\n }\n });\n\n if (!tempItems.some(item => item.propertyName === orderByFromResponse)) {\n this.sortedColumn = tempItems[0].propertyName;\n isFiltersOrOrderingChanged = true;\n }\n this.visibleHeaders = tempItems;\n if (isFiltersOrOrderingChanged == true) {\n this.refreshData();\n }\n }\n}\n","import { Input, Output, EventEmitter } from \"@angular/core\";\nimport { GridComponent } from \"./grid.component\";\n\nexport interface GridOptions {\n filtrable: boolean;\n sortable: boolean;\n editable: boolean;\n removable: boolean;\n headers: GridHeader[];\n}\n\nexport interface GridHeader {\n displayName: string;\n propertyName: string;\n filter: string;\n isCheckbox: boolean;\n propertyType: string;\n isInitSort: boolean;\n isInitSortAsc: boolean;\n showTooltip: boolean;\n isVisible: boolean;\n dateFormat: string;\n}\n\nexport interface GridRequest {\n filter: any;\n orderBy: string;\n isAscending: boolean;\n pageNumber: number;\n pageSize: number;\n withRestoring: boolean;\n isModal: boolean;\n}\n\nexport interface GridResponse {\n elements: any[];\n count: number;\n pageNumber: number;\n restoredFilters: any[];\n orderBy: string;\n isAscending: boolean;\n columnsSettings: string;\n}\n\nexport interface CustomButton {\n getButtonClass(row: any): {};\n hasIcon: boolean;\n displayName: string;\n getIconClass(row: any): {};\n actionName: string;\n isDisabled(row: any): boolean;\n isVisible(row: any): boolean;\n getTooltipText(row: any): string;\n}\n\nexport interface CustomRow {\n getRowClasses(row: any): {};\n}\n\nexport interface CustomButtonAction {\n actionName: string;\n selectedRow: any;\n}\n\nexport class GridMainFilter { \n internalName: string; \n value: string;\n}\n\nexport enum GroupFunction {\n sum,\n avg,\n min,\n max\n}\n\nexport class GoupedColumn {\n name: string;\n func: GroupFunction;\n}\n\nexport enum SelectionMode {\n none,\n single,\n multi\n}\n\nexport class SortedColumn {\n columnName: string;\n isAscending: boolean;\n}\n\nexport class GridSelection {\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Output() onItemSelected = new EventEmitter();\n\n public isOnDialog: boolean = false;\n\n protected _grid: GridComponent;\n\n public getSelectedItems(): any[]{\n return this._grid.getSelectedItems();\n }\n}\n\nexport interface RowAppearance {\n rowCustomClass: string;\n}","import { Injectable } from \"@angular/core\";\r\nimport { RestService } from \"../../core/rest.service\";\r\nimport { GridResponse } from \"./grid.model\";\r\n\r\n@Injectable()\r\nexport class GridRest {\r\n constructor(private http: RestService) { }\r\n\r\n public getGridData(dataRestPath: string, request: any) {\r\n return this.http.post(dataRestPath, request);\r\n }\r\n\r\n public saveColumnsSettings(restPath: string, settingsJson: string) {\r\n let settingsData = {restPath: restPath, settingsJson: settingsJson}\r\n return this.http.post(`api/gridsettings/saveColumnsSettings`, settingsData);\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({name: 'ifNaN'})\r\nexport class IfNanPipe implements PipeTransform {\r\n transform(value: any): any {\r\n return isNaN(value) ? 0 : value;\r\n }\r\n}","import { Directive, HostListener, Input } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[app-readonly]'\r\n})\r\nexport class ReadonlyDirective {\r\n @Input('app-readonly') enabled: boolean = true;\r\n\r\n @HostListener('click', ['$event']) onClick($event: Event) {\r\n if(this.enabled === true){\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n }\r\n}","import { Directive, ElementRef, OnInit, Input } from '@angular/core';\n\n@Directive({\n selector: '[appInputFocus]'\n})\nexport class InputFocusDirective implements OnInit {\n \n @Input('appInputFocus') isNew: boolean;\n\n constructor(private el: ElementRef) {\n if (!el.nativeElement['focus']) {\n throw new Error('Element does not accept focus.');\n }\n }\n\n ngOnInit(): void {\n const input: HTMLInputElement = this.el.nativeElement as HTMLInputElement;\n if (this.isNew === true) {\n input.focus();\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
{{item[textPropertyName]}}
\\n \\n
\\n
\\n
\\n\"","module.exports = \".dndPlaceholder {\\n min-height: 48px;\\n border: 1px dashed #5a5a5a;\\n background-color: rgba(0, 0, 0, 0.1); }\\n\\ndiv.item-list div.draggable-item.dndDraggingSource {\\n display: none; }\\n\\n.item-list {\\n display: block;\\n -webkit-tap-highlight-color: transparent; }\\n\\n.draggable-item {\\n cursor: grab;\\n cursor: -webkit-grab;\\n display: block;\\n height: 48px;\\n -webkit-tap-highlight-color: transparent;\\n font-size: 16px;\\n font-family: Roboto,\\\"Helvetica Neue\\\",sans-serif;\\n font-weight: 400;\\n border-bottom: 1px solid grey; }\\n\\n.draggable-item:active {\\n cursor: grabbing;\\n cursor: -webkit-grabbing; }\\n\\n.draggable-item em {\\n color: #f0f0f0;\\n text-shadow: 1px 1px #6e6e6e;\\n margin-right: 1rem; }\\n\\n.item-content {\\n display: flex;\\n align-items: center;\\n padding: 0 16px;\\n flex-direction: row;\\n justify-content: space-around;\\n box-sizing: border-box;\\n position: relative;\\n height: inherit; }\\n\\n.item-label {\\n padding-left: 0;\\n padding-right: 16px;\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n box-sizing: border-box;\\n overflow: hidden;\\n padding: 0; }\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { DndDropEvent, DropEffect } from 'ngx-drag-drop';\nimport { polyfill } from 'mobile-drag-drop';\nimport { scrollBehaviourDragImageTranslateOverride } from \"mobile-drag-drop/scroll-behaviour\";\n\n@Component({\n selector: 'app-item-selection',\n templateUrl: './item-selection.component.html',\n styleUrls: ['./item-selection.component.scss']\n})\nexport class ItemSelectionComponent implements OnInit {\n @Input() items: any[] = [];\n @Input() textPropertyName: string;\n @Input() selectPropertyName: string;\n\n private startIndex: number;\n\n constructor() {}\n\n ngOnInit() {\n polyfill( {\n dragImageTranslateOverride: scrollBehaviourDragImageTranslateOverride\n } );\n \n try {\n window.addEventListener( \"touchmove\", function() { }, { passive: false } );\n }\n catch(e){}\n }\n\n onDragStart(item:any, list:any[]) {\n const index = list.indexOf(item);\n this.startIndex = index;\n }\n\n onDrop( event:DndDropEvent, list?:any[] ) {\n if(list && event.dropEffect === \"move\") {\n const prevIndex = this.startIndex;\n list.splice(prevIndex, 1);\n this.startIndex = undefined;\n\n let index = event.index;\n if(typeof index === \"undefined\") {\n index = list.length;\n }\n\n if(index > prevIndex) {\n index--;\n }\n\n list.splice(index, 0, event.data);\n }\n }\n}\n","import { Component, Output, EventEmitter, ViewChild, Injectable } from '@angular/core';\nimport { ModalComponent } from './modal/modal.component';\nimport { TranslatorService } from '../translator/translator.service';\n\n@Component({\n selector: 'smp-messageBox',\n template: `\n\n
\n

{{ title }}

\n
\n
\n

{{message}}

\n
\n \n
\n`\n})\n\nexport class MessageBoxComponent {\n @Output() onSuccess = new EventEmitter();\n @Output() onCancel = new EventEmitter();\n @Output() onClose = new EventEmitter();\n\n @ViewChild(ModalComponent) private modal: ModalComponent;\n\n public title: string = '';\n public message: string = '';\n public cancelButtonVisible = true;\n public successButtonText: string = '';\n private cancelButtonText: string = '';\n\n constructor(\n private translateService: TranslatorService) {\n }\n\n public openYesNoBox(title: string, message: string) {\n this.setTranslation('successButtonText', 'COMMONBUTTONS_yes');\n this.setTranslation('cancelButtonText', 'COMMONBUTTONS_no');\n this.cancelButtonVisible = true;\n this.setCommonControls(title, message);\n this.modal.open();\n }\n\n public openOkCancelBox(title: string, message: string) {\n this.setTranslation('successButtonText', 'COMMONBUTTONS_ok');\n this.setTranslation('cancelButtonText', 'COMMONBUTTONS_cancel');\n this.cancelButtonVisible = true;\n this.setCommonControls(title, message);\n this.modal.open();\n }\n\n public openMessageBox(title: string, message: string) {\n this.setTranslation('successButtonText', 'COMMONBUTTONS_close');\n this.cancelButtonVisible = false;\n this.setCommonControls(title, message);\n this.modal.open();\n }\n\n public success() {\n this.modal.close();\n this.onSuccess.emit({});\n this.onClose.emit({});\n }\n\n private setCommonControls(title: string, message: string) {\n this.setTranslation('title', title);\n this.setTranslation('message', message);\n }\n\n private setTranslation(destination: string, translationName: string) {\n this.translateService.translate.get(translationName).subscribe(value => { this[destination] = value; });\n }\n\n private cancel() {\n this.modal.close();\n this.onCancel.emit({});\n this.onClose.emit({});\n }\n}","module.exports = \"\\n
\\n
\\n
\\n
\\n

{{title}}

\\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n\\n \\n\\n\"","import {Component, Input, Output, EventEmitter, ViewChild, OnInit, ChangeDetectorRef, AfterViewInit} from '@angular/core';\nimport { ShellSideNavService } from '../../../shell/shell-sidenav.service';\nimport { MediaMatcher } from '@angular/cdk/layout';\n\n@Component({\n selector: 'smp-modal',\n templateUrl: 'modal.component.html'\n})\nexport class ModalComponent implements OnInit, AfterViewInit{\n @Input() modalClass: string;\n @Input() closeOnEscape: boolean = true;\n @Input() closeOnOutsideClick: boolean = true;\n @Input() title: string;\n @Input() hideCloseButton: boolean = false;\n @Input() cancelButtonLabel: string;\n @Input() submitButtonLabel: string;\n @Input() focusableInputId: string;\n @Input() allowOverflow: boolean = false;\n\n @Output() onOpen = new EventEmitter(false);\n @Output() onClose = new EventEmitter(false);\n @Output() onSubmit = new EventEmitter(false);\n\n @ViewChild('modalRoot') modalRoot: any;\n\n public mobileQuery: MediaQueryList;\n public modalConfig = {\n backdrop: true,\n ignoreBackdropClick: true\n };\n\n private backdropElement: HTMLElement;\n private width: string = 'auto';\n public height: string = 'auto';\n public maxwidth: string = '';\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher\n ) {\n this.mobileQuery = media.matchMedia('(max-width: 900px)');\n this.mobileQuery.addListener(() => changeDetectorRef.detectChanges());\n }\n\n ngOnInit(){\n }\n\n ngAfterViewInit() {\n this.modalRoot.onHidden.subscribe(() => {\n this.onClose.emit();\n });\n }\n\n public open(...args: any[]) { \n this.width = 'auto';\n this.height = 'auto';\n this.showModal(args);\n }\n\n public openWithCustomSize(args: any) {\n if (args) {\n this.setSize(args);\n }\n\n this.showModal(args);\n }\n\n public close(...args: any[]) {\n this.modalRoot.hide();\n this.onClose.emit(args);\n }\n\n private showModal(...args: any[]) {\n this.onOpen.emit(args);\n this.modalRoot.show();\n }\n\n private getModalWidth() {\n return {\n width: this.width\n };\n }\n\n private getModalMaxWidth() {\n return {\n max_width: this.maxwidth\n };\n }\n\n public preventClosing(event: MouseEvent) {\n event.stopPropagation();\n }\n\n private setSize(sizeData: any) {\n this.width = sizeData['width'] || 'auto';\n this.height = sizeData['height'] || 'auto';\n this.maxwidth = sizeData['maxwidth'] || '';\n }\n\n private getModalHeight() {\n return {\n height: this.height\n };\n }\n}\n","export class ObjectToSelect { \n id: number;\n guid: string;\n name: string;\n}","import { Directive, ElementRef, OnInit, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appResizable]'\r\n})\r\nexport class ResizableDirective implements OnInit {\r\n \r\n @Input('appResizable') directions: string[];\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n const element: HTMLInputElement = this.el.nativeElement as HTMLInputElement;\r\n let dir = this.directions || ['right'];\r\n \r\n for (let i = 0; i < dir.length; i++) {\r\n const direction = dir[i];\r\n let handle = document.createElement('div');\r\n handle.setAttribute('class', 'resize-handle-'+direction);\r\n handle.innerHTML = '';\r\n element.appendChild(handle);\r\n }\r\n // dir.forEach((direction) => {\r\n // let handle = document.createElement('div');\r\n // handle.setAttribute('class', 'resize-handle-'+direction);\r\n // handle.innerHTML = '';\r\n // element.appendChild(handle);\r\n // });\r\n }\r\n}","module.exports = \"
\\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\"","import { Component, OnInit, Input, HostListener } from '@angular/core';\nimport { ButtonModel } from './button.model';\nimport { keyframes } from '@angular/animations';\nimport { Key } from 'protractor';\ndeclare var $: any;\n\n@Component({\n selector: 'app-richtext',\n templateUrl: './richtext.component.html'\n})\nexport class RichTextComponent implements OnInit {\n @Input() id = 'summernote';\n @Input() buttons: ButtonModel[];\n @Input() height = 600;\n @Input() disableFullscreen: boolean = false;\n @Input() mentionsEnabled: boolean = false;\n // public content: string;\n\n private userMentions: any[] = [];\n\n ngOnInit() {\n let cachedMentions = this.mentionsEnabled ? localStorage.getItem('userMentions') : '[]';\n this.userMentions = JSON.parse(cachedMentions || '[]');\n\n $(`#${this.id}`).summernote({\n height: this.height,\n dialogsInBody: true,\n followingToolbar: false,\n callbacks: {\n // onChange: (content, $editable) => {\n // this.content = content;\n // }\n },\n toolbar: [\n ['style', ['style']],\n ['font', ['bold', 'italic', 'underline', 'clear']],\n ['fontname', ['fontname']],\n ['fontsize', ['fontsize']],\n ['color', ['color']],\n ['para', ['ul', 'ol', 'paragraph']],\n ['table', ['table']],\n ['insert', ['link', 'picture', 'video']],\n ['view', [ this.disableFullscreen ? '' : 'fullscreen', 'codeview', 'help']],\n ],\n fontSizeUnits: ['px'],\n hint: {\n mentions: this.userMentions,\n match: /\\B@([a-z ]*)/i,\n search: function (keyword, callback) {\n callback(\n this.mentions.filter(function(item){return item.name.toLowerCase().indexOf(keyword)>-1 || item.email.toLowerCase().indexOf(keyword)>-1;})\n );\n },\n template: function(item) {\n return item.name;\n },\n content: function (item) {\n return $('')\n .attr('href', '')\n .attr('title', item.email)\n .text('@' + item.name)\n .get(0);\n }\n }\n });\n\n $('.note-popover').css({\n 'display': 'none'\n });\n\n // $(`#${this.id}`).summernote({\n // callbacks: {\n // onPaste: function (e, ne) {\n // console.log('Called event paste');\n // }\n // }\n // });\n\n // // summernote.paste\n // $(`#${this.id}`).on('summernote.paste', function (e, ne) {\n // console.log('Called event paste');\n\n // var data = ((ne.originalEvent || ne).clipboardData || (window as any).clipboardData);\n // // var text: string = data.getData('text/plain');\n // var html: string = data.getData('text/html');\n // // var rtf: string = data.getData('text/rtf');\n\n // e.preventDefault();\n // // console.log('RTF:');\n // // console.log(rtf);\n // // console.log('HTML:');\n // // console.log(html);\n\n // var length = html.length;\n // var index = 0;\n\n\n // var imagesArray = $(html).find(\"img\").map(function () {\n // return $(this).html();\n // }).get();\n\n // console.log(imagesArray);\n\n\n // while (index < length) {\n // var newIndex = html.indexOf(\"\", index);\n\n // var imgString = html.substr(newIndex, endingIndex - newIndex + 1);\n\n // var url = $(imgString).attr('src');\n\n // // tu dostajemy url \n // console.log(url);\n\n // index = endingIndex;\n // }\n // }\n // });\n\n // addEventListener('keydown', x => { this.convert(x.ctrlKey, x.altKey, x.keyCode); });\n }\n\n // public convert(isCtrl, isAlt, key) {\n // if (!(isAlt && isCtrl && key === 86)) {\n // return;\n // }\n\n // console.log(\"Test\");\n // }\n\n public getHtml() {\n return $(`#${this.id}`).summernote('code');\n }\n\n public reset() {\n $(`#${this.id}`).summernote('reset');\n }\n\n public insertHtml(text: string) {\n $(`#${this.id}`).summernote('code', text);\n }\n\n public setHtml(text: string) {\n this.reset();\n this.insertHtml(text);\n }\n\n public insertText(text: string) {\n $(`#${this.id}`).summernote('insertText', text);\n }\n\n public setText(text: string) {\n this.reset();\n this.insertText(text);\n }\n\n public disableContol() {\n $(`#${this.id}`).summernote('disable');\n }\n\n public enableContol() {\n $(`#${this.id}`).summernote('enable');\n }\n\n public isEmpty(data: string) {\n data = this.replaceAll(data, '

', '');\n data = this.replaceAll(data, '

', '');\n data = this.replaceAll(data, ' ', '');\n data = this.replaceAll(data, '
', '');\n return data.trim() === '' ? true : false;\n }\n\n private replaceAll(str, find, replace) {\n while (str.includes(find)) {\n str = str.replace(new RegExp(find, ''), replace);\n }\n return str;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../../core/rest.service\";\nimport { NoteObjectType } from './noteobjecttype.enum';\nimport { UserNote } from \"./usernote.model\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class UserNoteRest {\n constructor(private http: RestService) { } \n \n public postNote(note: UserNote) {\n return this.http.post(\"api/usernote\", note);\n }\n \n public getNote(noteObjectType: NoteObjectType, objectId: number) {\n return this.http.get(`api/usernote/${noteObjectType}/${objectId}`);\n }\n}","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule, MatToolbarModule, MatSidenavModule, MatListModule, MatDatepickerModule, MatTabsModule, MatExpansionModule, MatTooltipModule } from '@angular/material';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { DatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { GridComponent } from './grid/grid.component';\nimport { ModalComponent } from './modal/modal.component';\nimport { MessageBoxComponent } from './message-box.component';\nimport { TreelistComponent } from './treelist/treelist.component';\nimport { GridRowButtonsComponent } from './grid/grid-row-buttons/grid-row-buttons.component';\nimport { GridCheckboxFilterComponent } from './grid/grid-checkbox-filter/grid-checkbox-filter.component';\nimport { GridHeaderComponent } from './grid/grid-header/grid-header.component';\nimport { TreelistElementComponent } from './treelist/treelist-element/treelist-element.component';\nimport { TranslatorService } from '../translator/translator.service';\n//import { LayoutModule } from '../../layout/layout.module';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SharedTemplateModule } from '../../shared-template/shared-template.module';\nimport { RouterModule } from '@angular/router';\nimport { Ng2TableModule } from 'ng2-table';\nimport { DateInputComponent } from './date-input/date-input.component';\nimport { RichTextComponent } from './richtext/richtext.component';\nimport { UserNoteRest } from './richtext/usernote.rest';\nimport { NgxSelectModule } from 'ngx-select-ex';\nimport { AttachmentsComponent } from './attachments/attachments.component';\nimport { EmployeeModalComponent } from '../../company/employees/employee-modal/employee-modal.component';\nimport { TabMenuComponent } from './tabmenu/tabmenu.component';\nimport { NumeratorModule } from '../../numerator/numerator.module';\nimport { NumeratorComponent } from '../../numerator/numerator.component';\nimport { NgxNumberSpinModule } from 'ngx-number-spin';\nimport { SpinEditComponent } from './spinedit/spinedit.component';\nimport { ReadonlyDirective } from './grid/readonly-checkbox.directive';\nimport { DeleteCommaPipe } from './spinedit/delete-comma-pipe.pipe';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { NumeratorRest } from '../../numerator/numerator.rest';\nimport { InputFocusDirective } from './input-focus.directive';\nimport { IfNanPipe } from './grid/if-nan.filter';\nimport { ContextMenuModule } from 'ngx-contextmenu';\nimport { ItemSelectionComponent } from './item-selection/item-selection.component';\nimport { DndModule } from 'ngx-drag-drop';\nimport { ColumnEditorComponent } from './grid/column-editor/column-editor.component';\nimport { DialogComponent } from './dialog/dialog.component';\nimport { DialogChildInsertionDirective } from './dialog/dialog-directive';\nimport { DialogService } from './dialog/dialog.service';\nimport { GridRest } from './grid/grid.rest';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { ResizableModule } from 'angular-resizable-element';\nimport { ResizableDirective } from './resizable.directive';\nimport { CustomersRest } from '../../company/customers/customers.rest';\nimport { EmployeeIdSelectionComponent } from './employee-selection/employee-id-selection.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n RouterModule,\n SharedTemplateModule,\n Ng2TableModule,\n NgxSelectModule,\n NgxNumberSpinModule,\n PaginationModule,\n ResizableModule,\n ContextMenuModule.forRoot({\n useBootstrap4: true\n }),\n DndModule\n ],\n declarations: [\n GridComponent,\n GridRowButtonsComponent,\n GridHeaderComponent,\n GridCheckboxFilterComponent,\n ModalComponent,\n MessageBoxComponent,\n TreelistComponent,\n TreelistElementComponent,\n DateInputComponent,\n RichTextComponent,\n AttachmentsComponent,\n EmployeeModalComponent,\n TabMenuComponent,\n SpinEditComponent,\n NumeratorComponent,\n DeleteCommaPipe,\n ReadonlyDirective,\n InputFocusDirective,\n IfNanPipe,\n ItemSelectionComponent,\n ColumnEditorComponent,\n DialogComponent,\n DialogChildInsertionDirective,\n CalendarComponent,\n ResizableDirective,\n EmployeeIdSelectionComponent\n ],\n exports: [\n MatToolbarModule,\n MatIconModule,\n MatListModule,\n MatSidenavModule,\n MatMenuModule,\n MatCheckboxModule,\n MatDatepickerModule,\n MatTabsModule,\n MatExpansionModule,\n DatepickerModule,\n TimepickerModule,\n AlertModule,\n ReactiveFormsModule,\n CommonModule,\n FormsModule,\n GridComponent,\n ModalComponent,\n MessageBoxComponent,\n BsDropdownModule,\n TreelistComponent,\n //LayoutModule,\n TranslateModule,\n SharedTemplateModule,\n RouterModule,\n Ng2TableModule,\n DateInputComponent,\n RichTextComponent,\n NgxSelectModule,\n AttachmentsComponent,\n EmployeeModalComponent,\n TabMenuComponent,\n //NumeratorModule,\n SpinEditComponent,\n NumeratorComponent,\n NgxNumberSpinModule,\n ReadonlyDirective,\n PaginationModule,\n InputFocusDirective,\n CalendarComponent,\n ResizableModule,\n ResizableDirective,\n MatTooltipModule,\n EmployeeIdSelectionComponent\n ],\n entryComponents: [DialogComponent, ColumnEditorComponent],\n providers: [\n UserNoteRest,\n NumeratorRest,\n DialogService,\n GridRest,\n CustomersRest\n ]\n})\nexport class SharedModule { }\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({name: 'deleteComma'})\nexport class DeleteCommaPipe implements PipeTransform {\n transform(value: string): string {\n if(value == undefined){\n return '';\n }\n return value.replace(',','.');\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\"","module.exports = \"div.container-fluid {\\n border-radius: 0px;\\n border-color: lightgray;\\n border-style: solid;\\n border-width: 1px; }\\n\\n.button-base {\\n width: 24px;\\n height: 33px;\\n padding: 0px;\\n margin: 0px;\\n background: none;\\n color: inherit;\\n border: none;\\n padding: 0;\\n font: inherit;\\n cursor: pointer;\\n outline: inherit;\\n display: inline-block;\\n vertical-align: middle;\\n background-position: center;\\n transition: 0.3s; }\\n\\n.button-base:hover {\\n cursor: pointer;\\n background: lightgray; }\\n\\n.button-base:active {\\n cursor: pointer;\\n background: gray; }\\n\\ndiv.spin-edit {\\n width: 100%;\\n height: 33px; }\\n\\n.spin-edit-input {\\n width: 100%;\\n height: 33px;\\n padding: 5px;\\n border-top: none;\\n text-align: center;\\n border-bottom: none;\\n border-right: solid 1px #D3D3D3;\\n border-left: solid 1px #D3D3D3;\\n -webkit-appearance: none; }\\n\\nsvg {\\n padding: 0px;\\n margin: 0px;\\n vertical-align: middle;\\n width: 24px;\\n height: 24px; }\\n\\n.disabledButton {\\n background: #edf1f2; }\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-spinedit',\n templateUrl: './spinedit.component.html',\n styleUrls: ['./spinedit.component.scss']\n})\nexport class SpinEditComponent implements OnInit {\n \n public step = 1;\n private valueReplaced: string;\n @Input() public min: number = 0;\n @Input() public max: number = 99999;\n @Input() public decimal = false;\n @Input() public isReadOnly = false;\n\n @Output() valueNumberChange: EventEmitter = new EventEmitter();\n @Output() isValidChange: EventEmitter = new EventEmitter();\n\n private _isValid : boolean;\n public get isValid() : boolean {\n return this._isValid;\n }\n @Input() public set isValid(valid: boolean) {\n this._isValid = valid;\n this.isValidChange.emit(valid);\n }\n\n\n private currentValueNumber: number;\n @Input() set valueNumber(valueToSet: number) { \n if(this.currentValueNumber !== valueToSet) {\n this.currentValueNumber = valueToSet ? valueToSet : 0;\n this.setDisabledButtons();\n this.checkIsValid();\n }\n this.invert = valueToSet < 0;\n this.updateValueStr(valueToSet);\n this.valueNumberChange.emit(this.currentValueNumber);\n }\n get valueNumber(): number {\n return this.currentValueNumber; \n }\n \n \n private _value : string;\n public get valueStr() : string {\n return this._value;\n }\n\n public set valueStr(valueToSet : string) { \n this.valueReplaced = valueToSet.replace(',','.');\n this._value = this.updateValueEtered(this.valueReplaced);\n }\n\n private isDecrementDisabled = false;\n private isIncrementDisabled = false;\n\n oldValue: string;\n invert: boolean;\n constructor() {\n }\n\n ngOnInit() {\n this.invert = this.currentValueNumber < 0;\n this.updateValueStr(this.valueNumber);\n this.oldValue = this.valueStr;\n this.setDisabledButtons();\n }\n\n updateValueStr(valueToset: number) {\n let valueUpdate = '';\n if(this.decimal){\n valueUpdate = valueToset.toString();\n } else {\n valueUpdate = valueToset.toFixed(0);\n }\n\n if(valueUpdate !== this.valueStr){\n this.valueStr = valueUpdate;\n }\n }\n\n updateValueEtered(valueStr: string): string {\n let parsed = parseFloat(valueStr);\n if(isNaN(parsed)){\n parsed = parseFloat(this.oldValue);\n valueStr = this.oldValue;\n }\n if(this.invert){\n if(parsed > 0){\n parsed = parsed * -1;\n }\n }else {\n if(parsed < 0 ){\n parsed = parsed * -1;\n }\n }\n if(this.decimal){\n valueStr = parsed.toString();\n } else {\n valueStr = parsed.toFixed(0);\n }\n if(parsed !== this.valueNumber) {\n this.valueNumber = parsed;\n }\n return valueStr;\n }\n\n onKeyDown(event: KeyboardEvent ) {\n if((event.keyCode >= 64 && event.keyCode <= 91) ||\n (event.keyCode >= 218 && event.keyCode <= 223) || \n (event.keyCode === 187) || //=\n (event.keyCode === 111) || // num/\n (event.keyCode === 106) || // num*\n (event.keyCode === 107) || // num+ \n (event.shiftKey === true) || // with shift\n (event.keyCode > 190 && event.keyCode <= 193))\n {\n event.preventDefault();\n }\n\n if(!this.decimal &&\n ((event.keyCode === 188) || // ,\n (event.keyCode === 190) || // .\n (event.keyCode === 110) // num ,\n )){\n event.preventDefault();\n }\n if(this.decimal &&\n this.valueReplaced.includes('.') &&\n ((event.keyCode === 188) || // ,\n (event.keyCode === 190) || // .\n (event.keyCode === 110) // num ,\n )){\n event.preventDefault();\n }\n\n this.oldValue = this.valueStr;\n if(event.keyCode === 109 || event.keyCode === 189) {\n event.preventDefault();\n this.invert = !this.invert;\n this.valueStr = this.valueStr;\n }\n\n }\n\n setDisabledButtons() { \n if(this.valueNumber >= this.max){\n this.isIncrementDisabled = true;\n }else{\n this.isIncrementDisabled = false;\n }\n if(this.valueNumber <= this.min){\n this.isDecrementDisabled = true;\n }else{\n this.isDecrementDisabled = false;\n }\n }\n\n public decrement() {\n if(this.valueStr.length == 0) {this.valueStr ='0'};\n\n let decrement = this.valueNumber - this.step;\n if(decrement <= this.min){\n decrement = this.min;\n }\n this.oldValue = this._value;\n this.invert = decrement < 0; \n var str = this.valueStr.substr(this.valueStr.indexOf('.'));\n decrement = parseFloat(decrement.toFixed(str.length));\n this.valueNumber = decrement;\n this.updateValueStr(this.valueNumber);\n }\n\n public increment() {\n if(this.valueStr.length == 0) { this.valueStr ='0'};\n let increment = this.valueNumber;\n increment += this.step; \n if(increment >= this.max){\n increment = this.max;\n } \n this.oldValue = this._value;\n var str = this.valueStr.substr(this.valueStr.indexOf('.'));\n increment = parseFloat(increment.toFixed(str.length));\n this.invert = increment < 0;\n this.valueNumber = increment;\n this.updateValueStr(this.valueNumber);\n }\n\n \n private checkIsValid() { \n if(this.valueNumber <= this.max && this.valueNumber >= this.min ){\n this.isValid = true;\n } else{\n this.isValid = false;\n }\n } \n\n // setStrignValue(val: number){\n // const res = this.valueStr.split('.');\n // if(res.length >1 ){\n // this.valueStr = val.toFixed(res[1].length);\n // }else {\n // this.valueStr = val.toString();\n // }\n // }\n}\n","module.exports = \"\\n\\n\\n
    \\n \\n
  • \\n \\n
  • \\n
  • \\n \\n
  • \\n
    \\n
\\n
\"","module.exports = \".menu-item-action button {\\n width: 100%; }\\n\\n.tab-menu {\\n margin: 0px;\\n flex-wrap: nowrap; }\\n\\n@media (min-width: 768px) {\\n .save-btn {\\n margin-right: 2px; } }\\n\\n@media (max-width: 767px) {\\n .save-btn {\\n margin-right: 2px;\\n visibility: hidden;\\n width: 0px; } }\\n\\n@media (max-width: 480px) {\\n .save-btn {\\n visibility: hidden;\\n width: 0px; } }\\n\\n.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {\\n opacity: 1; }\\n\"","import { Component, OnInit, ViewChild, Input, ElementRef, AfterViewInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';\nimport { MatMenuTrigger } from '@angular/material';\nimport { MenuButton } from './tabmenu.model';\n\n@Component({\n selector: 'app-tabmenu',\n templateUrl: './tabmenu.component.html',\n styleUrls: ['./tabmenu.component.scss']\n})\nexport class TabMenuComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n\n @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;\n @ViewChild('menuTriggerButton') menuTriggerButton: ElementRef;\n\n @Input() saveButton: MenuButton;\n @Input() buttons: MenuButton[];\n @Input() isAnyRowSelected: boolean = false;\n\n public enabled: boolean = false;\n \n constructor() {}\n\n ngOnInit() {\n window.addEventListener('scroll', this.onScroll, true);\n }\n\n ngAfterViewInit() {\n this.enabled = this.buttons && this.buttons != null && this.buttons.some(butt =>\n (butt.enabled && !butt.isForSelected) || (butt. enabled && butt.isForSelected && this.isAnyRowSelected));\n this.menuTriggerButton.nativeElement.disabled = !this.enabled;\n }\n\n ngOnDestroy() {\n window.removeEventListener('scroll', this.onScroll);\n }\n\n onScroll = (): void => {\n this.trigger.closeMenu();\n this.dropButtonFocus();\n }\n\n dropButtonFocus() {\n this.menuTriggerButton.nativeElement.blur();\n }\n\n public refreshMenuState() {\n this.enabled = this.buttons && this.buttons != null && this.buttons.some(butt =>\n (butt.enabled && !butt.isForSelected) || (butt.enabled && butt.isForSelected && this.isAnyRowSelected));\n this.menuTriggerButton.nativeElement.disabled = !this.enabled;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.refreshMenuState();\n }\n}\n","module.exports = \"\"","module.exports = \"\\n
  • \\n\\n \\n \\n\\n {{element.name}} \\n\\n\\n
    \\n
      \\n
      \\n\\n\\n
    1. \\n\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { ElementRow } from '../treelist.model';\nimport { TreelistEventService } from '../treelist-event.service';\nimport { TreelistRest } from '../treelist.rest';\n\n@Component({\n selector: '[app-treelist-element]',\n templateUrl: './treelist-element.component.html',\n styleUrls: ['./treelist-element.component.css']\n})\nexport class TreelistElementComponent implements OnInit {\n\n @Input() elements: ElementRow[] = [];\n @Input() apiPath: string;\n \n\n constructor(\n private eventsService: TreelistEventService,\n private rest: TreelistRest\n ) { }\n\n ngOnInit() {\n\n }\n\n private toggleElements(element: ElementRow){\n if(!element.elements || element.elements.length === 0){ \n if(element.hasChildren)\n {\n //get children form rest api\n let elementId: any;\n if(element.guid){\n elementId = element.guid;\n }\n else{\n elementId = element.id;\n }\n this.rest.getElementChildren(this.apiPath, elementId).subscribe(data => element.elements = data);\n } \n }\n element.isExpanded = !element.isExpanded;\n }\n\n private selectElement(element: ElementRow){\n if(!element.isSelected){\n this.eventsService.announceSelect(element);\n }\n }\n}\n","import { Injectable, Output, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\nimport { ElementRow } from './treelist.model';\n\n@Injectable()\nexport class TreelistEventService {\n\n private selectElementSource = new Subject();\n\n public selectElement$ = this.selectElementSource.asObservable();\n\n public announceSelect(selectedElement: ElementRow){\n this.selectElementSource.next(selectedElement);\n }\n \n}\n","module.exports = \"\"","module.exports = \"\\n
      \\n
      \\n
      \\n
      \\n
      \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\nimport { ElementRow } from './treelist.model';\nimport { TreelistEventService } from './treelist-event.service';\nimport { TreelistRest } from './treelist.rest';\n//import { fakeRoles } from './fakeTreelistData';\n\n@Component({\n selector: 'app-treelist',\n templateUrl: './treelist.component.html',\n styleUrls: ['./treelist.component.css']\n})\nexport class TreelistComponent implements OnInit {\n \n @Input() apiPath: string; \n\n @Output() onElementSelected = new EventEmitter();\n\n private selectSubscription: Subscription;\n private selectedElement: ElementRow;\n private elements: ElementRow[] = [];\n\n constructor(\n private treelistEventService: TreelistEventService,\n private rest: TreelistRest\n ) { \n this.selectSubscription = treelistEventService.selectElement$.subscribe(selectedRow => this.onSelectRow(selectedRow));\n }\n\n ngOnInit() {\n\n //this.elements = fakeRoles;\n if(this.apiPath) {\n this.rest.getFirstLevelElements(this.apiPath).subscribe(elements => this.elements = elements);\n }\n }\n\n private onSelectRow(row: ElementRow){\n if(this.selectedElement){\n this.selectedElement.isSelected = false;\n }\n this.selectedElement = row;\n row.isSelected = true;\n\n if(this.selectedElement.id > 0 && this.selectedElement.guid == null)\n {\n this.onElementSelected.emit(this.selectedElement.id);\n }\n else if(this.selectedElement.guid.length > 0)\n {\n this.onElementSelected.emit(this.selectedElement.guid);\n }\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { RestService } from '../../core/rest.service'\nimport { ElementRow } from './treelist.model';\n\n@Injectable()\nexport class TreelistRest {\n constructor(\n private http: RestService\n ){}\n\n public getFirstLevelElements(apiPath: string) {\n return this.http.get(`${apiPath}/treelist`);\n }\n\n public getElementChildren(apiPath: string, elementId: any) {\n return this.http.get(`${apiPath}/treelist/${elementId}`);\n }\n}","import { Injectable } from '@angular/core';\n\nconst themeA = require('../../shared-template/styles/themes/theme-a.scss');\nconst themeB = require('../../shared-template/styles/themes/theme-b.scss');\nconst themeC = require('../../shared-template/styles/themes/theme-c.scss');\nconst themeD = require('../../shared-template/styles/themes/theme-d.scss');\nconst themeE = require('../../shared-template/styles/themes/theme-e.scss');\nconst themeF = require('../../shared-template/styles/themes/theme-f.scss');\nconst themeG = require('../../shared-template/styles/themes/theme-g.scss');\nconst themeH = require('../../shared-template/styles/themes/theme-h.scss');\n\n@Injectable()\nexport class ThemesService {\n\n styleTag: any;\n defaultTheme: string = 'A';\n\n constructor() {\n this.createStyle();\n this.setTheme(this.defaultTheme);\n }\n\n private createStyle() {\n const head = document.head || document.getElementsByTagName('head')[0];\n this.styleTag = document.createElement('style');\n this.styleTag.type = 'text/css';\n this.styleTag.id = 'appthemes';\n head.appendChild(this.styleTag);\n }\n\n setTheme(name) {\n switch (name) {\n case 'A':\n this.injectStylesheet(themeA);\n break;\n case 'B':\n this.injectStylesheet(themeB);\n break;\n case 'C':\n this.injectStylesheet(themeC);\n break;\n case 'D':\n this.injectStylesheet(themeD);\n break;\n case 'E':\n this.injectStylesheet(themeE);\n break;\n case 'F':\n this.injectStylesheet(themeF);\n break;\n case 'G':\n this.injectStylesheet(themeG);\n break;\n case 'H':\n this.injectStylesheet(themeH);\n break;\n }\n }\n\n injectStylesheet(css) {\n this.styleTag.innerHTML = css;\n }\n\n getDefaultTheme() {\n return this.defaultTheme;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Injectable()\nexport class TranslatorService {\n\n private defaultLanguage: string = 'pl';\n\n private availablelangs = [\n { code: 'en', text: 'English' },\n { code: 'pl', text: 'Polski' }\n ];\n\n constructor(public translate: TranslateService) {\n\n if (!translate.getDefaultLang())\n translate.setDefaultLang(this.defaultLanguage);\n\n this.useLanguage();\n\n }\n\n useLanguage(lang: string = null) {\n this.translate.use(lang || this.translate.getDefaultLang());\n }\n\n getAvailableLanguages() {\n return this.availablelangs;\n }\n\n}\n","module.exports = \"
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n {{shortcut.title}}\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n {{item.title}}\\r\\n
        \\r\\n {{row.value}}\\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","import { Component, OnInit } from \"@angular/core\";\r\nimport { DashboardItemsRestService } from \"./dashboard-items.rest\";\r\nimport { DashboardItem, DashboardShortcut } from \"./dashboard-items.model\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'app-dashboard-items',\r\n templateUrl: './dashboard-items.component.html'\r\n})\r\nexport class DashboardItemsComponent implements OnInit {\r\n\r\n public items: DashboardItem[];\r\n public shortcuts: DashboardShortcut[];\r\n\r\n constructor(\r\n private rest: DashboardItemsRestService,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.rest.GetDashboardItems().subscribe(result => {\r\n if (result) {\r\n this.items = result.dashboardItems;\r\n this.shortcuts = result.dashboardShortcuts;\r\n\r\n this.items.forEach(item => {\r\n if (item.objectPath) {\r\n let parts = item.objectPath.split('?', 2);\r\n let parsedRoute = this.router.parseUrl(item.objectPath);\r\n let queryParams = parts.length > 1 ? parsedRoute.queryParams : null;\r\n item.routingPath = { path: parts[0], queryParams: queryParams }\r\n } else {\r\n item.routingPath = { path: null, queryParams: null }\r\n }\r\n });\r\n\r\n if (this.shortcuts) {\r\n this.shortcuts.forEach(shortcut => {\r\n let parts = shortcut.objectPath.split('?', 2);\r\n let parsedRoute = this.router.parseUrl(shortcut.objectPath);\r\n let queryParams = parts.length > 1 ? parsedRoute.queryParams : null;\r\n shortcut.routingPath = { path: parts[0], queryParams: queryParams }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { RestService } from \"../../core/core/rest.service\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { DashboardObjects, DashboardShortcut } from \"./dashboard-items.model\";\r\n\r\n@Injectable()\r\nexport class DashboardItemsRestService {\r\n private GetDashboardItemsPath = 'api/dashboard/getItems';\r\n private AddDashboardShortcutPath = 'api/dashboard/addShortcut';\r\n private RemoveDashboardShortcutPath = 'api/dashboard/removeShortcut/';\r\n\r\n constructor(private http: RestService) {\r\n }\r\n\r\n public GetDashboardItems(): Observable {\r\n return this.http.get(this.GetDashboardItemsPath);\r\n }\r\n\r\n public AddDashboardShortcut(shortcut: DashboardShortcut): Observable {\r\n return this.http.post(this.AddDashboardShortcutPath, shortcut);\r\n }\r\n\r\n public RemoveDashboardShortcut(shortcutId: number): Observable {\r\n return this.http.get(this.RemoveDashboardShortcutPath + shortcutId);\r\n }\r\n\r\n}","module.exports = \"
        \\r\\n \\r\\n
        \"","import { Component, OnInit } from '@angular/core';\nimport 'rxjs/add/operator/map';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl:'./dashboard.component.html'\n})\nexport class DashboardComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DashboardComponent } from './dashboard.component';\nimport { dashboardRouting } from './dashboard.routing';\nimport { DashboardItemsComponent } from './dashboard-items/dashboard-items.component';\nimport { DashboardItemsRestService } from './dashboard-items/dashboard-items.rest';\n\n@NgModule({\n imports: [\n dashboardRouting, \n CommonModule\n ],\n\n declarations: [DashboardComponent, DashboardItemsComponent],\n providers: [DashboardItemsRestService]\n})\nexport class DashboardModule { }\n","import { Routes, RouterModule } from '@angular/router';\nimport { DashboardComponent } from './dashboard.component';\n\nconst routes: Routes = [\n { path: '', component: DashboardComponent } \n];\n\nexport const dashboardRouting = RouterModule.forChild(routes);","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n {{ successMessage | translate}}\\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n\\n\"","import { Component, OnInit, ViewChild, AfterViewInit } from \"@angular/core\";\r\nimport { GridComponent } from \"../../core/shared/grid/grid.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { DictionaryComponent } from \"../dictionary/dictionary.component\";\r\nimport { Subscription } from \"rxjs/Subscription\";\r\nimport { MessageBoxComponent } from \"../../core/shared/message-box.component\";\r\nimport { ShellSideNavService } from \"../../shell/shell-sidenav.service\";\r\nimport { TranslatorService } from \"../../core/translator/translator.service\";\r\nimport { PermissionsService } from \"../../core/services/permissions/permissions.service\";\r\nimport { Permissions } from \"../../core/services/permissions/permissions.model\";\r\nimport { GridParamsRestorable } from \"../../core/services/grid-params-restoring/grid-params-restoring.model\";\r\nimport { SortedColumn } from \"../../core/shared/grid/grid.model\";\r\n@Component({\r\n selector: \"dictionaries-grid\",\r\n templateUrl: \"./dictionaries.component.html\",\r\n styles: []\r\n})\r\nexport class DictionariesComponent implements OnInit, GridParamsRestorable {\r\n public initialFilters: any;\r\n public initialPageNumber: number;\r\n public initialPageSize: number;\r\n public initialSortedColumn: SortedColumn;\r\n public editedItemId: any;\r\n public previousMainFilters: any;\r\n public detailsPath: string;\r\n public id: number;\r\n public path: string;\r\n public titlePath: string;\r\n public showSuccessMessage: boolean;\r\n public viewEnable = true;\r\n\r\n private toggleEnable = true;\r\n private successMessage: string;\r\n private sub: any;\r\n private messageBoxSubscription: Subscription;\r\n private isEditable: boolean;\r\n private isRemovable: boolean;\r\n private isAdd: boolean;\r\n private isDeleted: boolean;\r\n\r\n @ViewChild(DictionaryComponent)\r\n public dictionaryComponent: DictionaryComponent;\r\n @ViewChild(GridComponent) grid: GridComponent;\r\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\r\n\r\n constructor(\r\n private route: Router,\r\n private translateService: TranslatorService,\r\n private shellSideNavService: ShellSideNavService,\r\n private permissionService: PermissionsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.setPermissions(\"UniversalDictionary\");\r\n\r\n var routeSplit = this.route.url.split(\"/\");\r\n\r\n this.setTitleAndType(routeSplit[2]);\r\n }\r\n\r\n private permissions: Permissions;\r\n private canRowBeShown: boolean;\r\n private canRowBeEdited: boolean;\r\n private canRowBeDeleted: boolean;\r\n private canRowBeAdded: boolean;\r\n\r\n setPermissions(claimType: string): void {\r\n this.permissions = this.permissionService.getUserPermissions(claimType);\r\n this.isEditable = this.permissions.canEdit || this.permissions.canShow;\r\n\r\n this.canRowBeShown = this.permissions.canShow;\r\n this.canRowBeAdded = this.permissions.canAdd;\r\n this.canRowBeEdited = this.permissions.canEdit;\r\n this.canRowBeDeleted = this.permissions.canDelete;\r\n }\r\n\r\n public addDictionary() {\r\n this.dictionaryComponent.openForAdding();\r\n }\r\n\r\n public onSuccessOperation(isActivationMode) {\r\n this.grid.refreshData();\r\n\r\n if (this.isDeleted) {\r\n this.showMesage(\"DICTIONARIES_deleteDictionaryElementMessage\");\r\n } else if (!isActivationMode && !this.isEditable) {\r\n this.showMesage(\"DICTIONARIES_addNewDictionaryElementMessage\");\r\n } else {\r\n this.showMesage(\"DICTIONARIES_editDictionaryElementMessage\");\r\n }\r\n\r\n this.isEditable = false;\r\n this.isDeleted = false;\r\n }\r\n\r\n public onMessageBoxClose() {\r\n if (this.messageBoxSubscription) {\r\n this.messageBoxSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private setTitleAndType(dictType: string) {\r\n switch (dictType) {\r\n case \"systemdefinitions\":\r\n {\r\n this.dictionaryComponent.title = \"Definicja systemu\";\r\n this.dictionaryComponent.dictionaryType = 1;\r\n this.titlePath = \"Słowniki / Definicja systemu\";\r\n this.path = \"api/dictionaries/grid/1\";\r\n }\r\n break;\r\n case \"projecttypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy projektów\";\r\n this.dictionaryComponent.dictionaryType = 2;\r\n this.titlePath = \"Słowniki / Typy projektów\";\r\n this.path = \"api/dictionaries/grid/2\";\r\n }\r\n break;\r\n case \"issuetypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy zgłoszeń\";\r\n this.dictionaryComponent.dictionaryType = 3;\r\n this.titlePath = \"Słowniki / Typy zgłoszeń\";\r\n this.path = \"api/dictionaries/grid/3\";\r\n }\r\n break;\r\n case \"worklogtypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy rejestratora czasu\";\r\n this.dictionaryComponent.dictionaryType = 5;\r\n this.titlePath = \"Słowniki / Typy rejestratora czasu\";\r\n this.path = \"api/dictionaries/grid/5\";\r\n }\r\n break;\r\n case \"areapaths\":\r\n {\r\n this.dictionaryComponent.title = \"Obszar klasyfikacji\";\r\n this.dictionaryComponent.dictionaryType = 6;\r\n this.titlePath = \"Słowniki / Obszar klasyfikacji\";\r\n this.path = \"api/dictionaries/grid/6\";\r\n }\r\n break;\r\n case \"schedulertypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy planu pracy\";\r\n this.dictionaryComponent.dictionaryType = 7;\r\n this.titlePath = \"Słowniki / Typy planu pracy\";\r\n this.path = \"api/dictionaries/grid/7\";\r\n }\r\n break;\r\n case \"funcionalitytypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy funkcjonalności\";\r\n this.dictionaryComponent.dictionaryType = 8;\r\n this.titlePath = \"Słowniki / Typy funkcjonalności\";\r\n this.path = \"api/dictionaries/grid/8\";\r\n }\r\n break;\r\n case \"vstsprojects\":\r\n {\r\n this.dictionaryComponent.title = \"Projekty VSTS\";\r\n this.dictionaryComponent.dictionaryType = 9;\r\n this.titlePath = \"Słowniki / Projekty VSTS\";\r\n this.path = \"api/dictionaries/grid/9\";\r\n }\r\n break;\r\n case \"erpvstsprojects\":\r\n {\r\n this.dictionaryComponent.title = \"Projekty ERP VSTS\";\r\n this.dictionaryComponent.dictionaryType = 10;\r\n this.titlePath = \"Słowniki / Projekty ERP VSTS\";\r\n this.path = \"api/dictionaries/grid/10\";\r\n }\r\n break;\r\n case \"absencetypes\":\r\n {\r\n this.dictionaryComponent.title = \"Typy nieobecności\";\r\n this.dictionaryComponent.dictionaryType = 11;\r\n this.titlePath = \"Słowniki / TYPY NIEOBECNOŚCI\";\r\n this.path = \"api/dictionaries/grid/11\";\r\n }\r\n break;\r\n default: {\r\n this.dictionaryComponent.title = \"Inne\";\r\n this.dictionaryComponent.dictionaryType = 0;\r\n this.titlePath = \"Słowniki / Inne\";\r\n }\r\n }\r\n }\r\n\r\n public headers = [\r\n { displayName: \"Nazwa\", propertyName: \"value\", propertyType: \"string\" },\r\n { displayName: \"Opis\", propertyName: \"description\", propertyType: \"string\" }\r\n ];\r\n\r\n public actionButtons = [];\r\n\r\n private onActivate(actionData: any) { }\r\n\r\n private onRowEdit(row: any) {\r\n this.dictionaryComponent.openForEdit(row.id);\r\n }\r\n\r\n private onRowDelete(row: any) {\r\n this.isDeleted = true;\r\n sweetAlert(\"Czy usunąć element słownika?\", {\r\n buttons: {\r\n yes: {\r\n text: \"Tak\",\r\n value: \"yes\"\r\n },\r\n no: {\r\n text: \"Nie\",\r\n value: \"no\"\r\n }\r\n }\r\n }).then(value => {\r\n switch (value) {\r\n case \"yes\":\r\n this.dictionaryComponent.deleteDictionary(row.id);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n showMesage(translateMessage: string) {\r\n this.translateService.translate.get(translateMessage).subscribe(value => {\r\n this.successMessage = value;\r\n this.showSuccessMessage = true;\r\n setTimeout(() => (this.showSuccessMessage = false), 3000);\r\n });\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { dictionariesRouting } from \"./dictionaries.routing\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { MessageBoxComponent } from \"../../core/shared/message-box.component\";\nimport { DictionaryComponent } from \"../dictionary/dictionary.component\";\nimport { DictionariesComponent } from \"./dictionaries.component\";\nimport { DictionaryRest } from \"../dictionary/dictionary.rest\";\n\n@NgModule({\n imports: [CommonModule, dictionariesRouting, SharedModule],\n declarations: [DictionaryComponent, DictionariesComponent],\n exports: [DictionaryComponent],\n providers: [DictionaryRest]\n})\nexport class DictionariesModule {}\n","import { Routes, RouterModule } from \"@angular/router\";\nimport { DictionariesComponent } from \"./dictionaries.component\";\n\nconst routes: Routes = [\n { path: '', component: DictionariesComponent}\n ];\n\n export const dictionariesRouting = RouterModule.forChild(routes);\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '../core/shared/shared.module';\nimport { dictionariesRootRouting } from './dictionariesRoot.rooting';\n\n@NgModule({\n imports: [ CommonModule,\n dictionariesRootRouting,\n SharedModule ],\n exports: [],\n declarations: [],\n providers: [ ]\n})\nexport class DictionariesRootModule { }","import { Routes, RouterModule } from \"@angular/router\";\nimport { DictionariesModule } from \"./dictionaries/dictionaries.module\";\n\nconst routes: Routes = [\n { path: \"\", redirectTo: \"/dashboard\", pathMatch: \"full\" },\n { path: \"systemdefinitions\", loadChildren: () => DictionariesModule },\n { path: \"projecttypes\", loadChildren: () => DictionariesModule },\n { path: \"individual\", loadChildren: () => DictionariesModule },\n { path: \"issuetypes\", loadChildren: () => DictionariesModule },\n { path: \"worklogtypes\", loadChildren: () => DictionariesModule },\n { path: \"areapaths\", loadChildren: () => DictionariesModule },\n { path: \"schedulertypes\", loadChildren: () => DictionariesModule },\n { path: \"funcionalitytypes\", loadChildren: () => DictionariesModule },\n { path: \"vstsprojects\", loadChildren: () => DictionariesModule },\n { path: \"erpvstsprojects\", loadChildren: () => DictionariesModule },\n { path: \"absencetypes\", loadChildren: () => DictionariesModule },\n { path: \"absencestates\", loadChildren: () => DictionariesModule }\n];\n\nexport const dictionariesRootRouting = RouterModule.forChild(routes);\n","module.exports = \"\\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \"","import { Component, ViewChild, Output, EventEmitter, OnInit, Input, AfterViewInit, HostListener } from '@angular/core';\nimport { ModalComponent } from '../../core/shared/modal/modal.component';\nimport { NgForm } from '@angular/forms';\nimport { DictionaryRest } from './dictionary.rest';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { Permissions, HasPermissions } from '../../core/services/permissions/permissions.model';\n\n@Component({\n selector: 'smp-dictionary',\n templateUrl: 'dictionary.component.html'\n})\nexport class DictionaryComponent implements OnInit, HasPermissions {\n @ViewChild('dictionaryForm') dictionaryForm: NgForm;\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @Output() onSuccess = new EventEmitter();\n\n @Input() title: string;\n @Input() dictionaryType: number;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true && this.dictionaryForm.valid) {\n this.saveDictionary();\n event.preventDefault();\n }\n }\n\n public dictionary: any = { 'value': '' };\n private editMode: boolean;\n private isSaving = false;\n\n constructor(\n private rest: DictionaryRest,\n private permissionService: PermissionsService\n ) {\n }\n\n public ngOnInit() {\n this.setPermissions('UniversalDictionary');\n\n this.modal.title = this.title;\n }\n\n permissions: Permissions;\n private canBeEdited: boolean;\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n this.canBeEdited = this.permissions.canEdit;\n }\n\n public openForAdding() {\n this.editMode = false;\n this.dictionary = { 'dictionaryType': this.dictionaryType };\n this.modal.open();\n }\n\n public openForEdit(id: any) {\n this.editMode = true;\n this.rest.getDictionary(id).subscribe(dictionary => {\n this.dictionary = dictionary;\n this.modal.open();\n });\n }\n\n public deleteDictionary(id: any) {\n this.rest.deleteDictionary(id).subscribe(() => {\n this.rest.deleteDictionary(id);\n this.onSuccess.emit({});\n });\n }\n\n public setError(controlName: string) {\n const control = this.dictionaryForm.controls[controlName];\n return { 'has-error': control.dirty && !control.valid };\n }\n\n public getDisabledStatus() {\n if (this.editMode) {\n return !this.dictionaryForm.valid;\n } else {\n return !this.dictionaryForm.valid || !this.dictionaryForm.dirty;\n }\n }\n\n public closeModal() {\n this.modal.close();\n }\n\n public saveDictionary() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n const action = this.editMode ? this.rest.saveDictionary : this.rest.addDictionary;\n action.call(this.rest, this.dictionary).subscribe(() => {\n this.modal.close();\n this.onSuccess.emit({});\n this.isSaving = false;\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { RestService } from '../../core/core/rest.service';\n\n\n@Injectable()\nexport class DictionaryRest {\n constructor(private http: RestService) { }\n\n public addDictionary(dictionary) {\n return this.http.post('api/dictionary/add', dictionary);\n }\n\n public saveDictionary(dictionary) {\n return this.http.post('api/dictionary/edit', dictionary);\n }\n\n public getDictionary(dictionaryId) {\n return this.http.get(`api/dictionary/${dictionaryId}`);\n }\n\n public getDictionaryName(dictionaryId) {\n return this.http.get(`api/dictionary/name/${dictionaryId}`);\n }\n\n public getDictionaries(dictionaryType) {\n return this.http.get(`api/dictionaries/${dictionaryType}`);\n }\n\n public deleteDictionary(dictionaryId) {\n return this.http.post('api/dictionary/delete', dictionaryId);\n }\n}\n","module.exports = \"
        \\n \\n \\n \\n \\n \\n >\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \"","import { Component, OnInit, AfterViewInit, ViewChild, HostListener } from '@angular/core';\nimport { HasPermissions, Permissions} from '../../../core/services/permissions/permissions.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoginRest } from '../../../login/login.rest';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { AttachmentRest } from '../../../core/shared/attachments/attachments.rest';\nimport { AttachmentsComponent } from '../../../core/shared/attachments/attachments.component';\nimport { Issue } from '../../../issues/issues.model';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { IssuesExtRest } from '../../issues-ext.rest';\nimport { IssueExtHeaderComponent } from '../issue-ext-header/issue-ext-header.component';\nimport { IssueExtElementsComponent } from '../issue-ext-elements/issue-ext-elements.component';\nimport { ShellRestService } from '../../../shell/shell.rest';\n\n@Component({\n selector: 'app-issue-ext-details',\n templateUrl: './issue-ext-details.component.html',\n styleUrls: []\n})\nexport class IssueExtDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: IssuesExtRest,\n private loginRest: LoginRest,\n private permissionsService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private attachmentRest: AttachmentRest\n ) { }\n\n @ViewChild(IssueExtHeaderComponent) issueExtHeaderComponent: IssueExtHeaderComponent;\n @ViewChild(IssueExtElementsComponent) issueExtElementsComponent: IssueExtElementsComponent;\n @ViewChild(AttachmentsComponent) attachmentsComponent: AttachmentsComponent;\n\n private isSaving = false;\n\n public issue: Issue;\n public isNew: boolean;\n public employeeId: number;\n public selectedTab = 1;\n\n public isCopy = false;\n public CustomerId: number;\n \n private saveButton = {text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false }; \n\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n this.CustomerId = this.permissions.customerId;\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.save()\n event.preventDefault();\n }\n\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('IssueExt');\n if (this.permissions.canAdd || this.permissions.canEdit) {\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = true;\n this.saveButton.enabled = true;\n }\n\n if (!this.issueExtHeaderComponent.headerExtDescriptionViews) {\n this.issueExtHeaderComponent.headerExtDescriptionViews = null;\n }\n\n this.route.queryParams.subscribe(params => {\n if (params.isCopy) {\n this.isCopy = params.isCopy;\n this.rest.copyIssue(params.id).subscribe(issue => {\n this.isNew = true;\n this.issue = issue;\n this.issueExtHeaderComponent.setModel(this.issue, this.isNew, this.isCopy);\n this.spinnerService.hide();\n });\n } else {\n if (params.id) {\n this.spinnerService.show();\n if (params.id === '0') {\n this.isNew = true;\n this.loginRest.GetLoggedUser().subscribe(result => {\n this.rest.createEmptyIssue(result.employeeId, this.CustomerId).subscribe(issue => {\n this.issue = issue;\n this.issueExtHeaderComponent.saveDescription();\n this.issueExtHeaderComponent.setModel(this.issue, this.isNew, this.isCopy);\n this.spinnerService.hide();\n });\n });\n } else {\n this.isNew = false;\n this.rest.getIssue(params.id).subscribe(issue => {\n this.issue = issue;\n this.issueExtHeaderComponent.saveDescription();\n this.issueExtHeaderComponent.setModel(this.issue, this.isNew, this.isCopy);\n this.spinnerService.hide();\n });\n }\n }\n }\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n if (tabChangeEvent.index === 1) {\n if (this.issue.issueElements) {\n const lastElement = this.issue.issueElements[this.issue.issueElements.length - 1];\n if (lastElement) {\n this.issue.objectStateId = lastElement.objectStateId;\n this.issue.elementAssignee = lastElement.employeeFullName;\n }\n }\n this.issueExtHeaderComponent.getDescription();\n }\n if (tabChangeEvent.index === 2) {\n if (this.issue.issueElements == undefined) {\n this.spinnerService.show();\n this.rest.getIssueElements(this.issue.id).subscribe(issueElements => {\n this.issue.issueElements = issueElements;\n this.issueExtElementsComponent.setModel(this.issue, this.isNew);\n this.spinnerService.hide();\n });\n } else {\n this.issueExtElementsComponent.setModel(this.issue, this.isNew);\n }\n }\n if (tabChangeEvent.index === 3) {\n if (!this.issue.attachments || this.issue.attachments.length === 0) {\n let path = `api/issueexternal/attachments/grid/${this.issue.objectTypeId}/${this.issue.id}`;\n this.attachmentRest.getAttachmentsGrid(path).subscribe(res => {\n this.issue.attachments = res;\n this.attachmentsComponent.setModel(this.issue, 'issueexternal');\n });\n }\n }\n this.issueExtHeaderComponent.saveDescription();\n }\n\n private save() {\n this.issueExtHeaderComponent.saveDescription();\n if (this.issueExtHeaderComponent.isInvalid()) {\n sweetAlert(`Uzupełnij wymagane pola na nagłówku`);\n return;\n }\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n if (!this.issue.systemVersionId) {\n this.rest.getEmptySystemVersion().subscribe((result: number) => {\n if (result) {\n this.issue.systemVersionId = result;\n this.saveIssue();\n }\n });\n } else {\n this.saveIssue();\n }\n }\n\n private saveIssue() {\n const action = this.rest.saveIssue;\n action.call(this.rest, this.issue, this.isNew).subscribe((result: Issue) => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(result.id);\n }\n this.isSaving = false;\n this.close();\n });\n }\n\n private close() {\n this.issueExtHeaderComponent.headerExtDescriptionViews = null;\n let pathToReturn = '../../';\n if (this.isCopy) {\n pathToReturn = '../../../';\n }\n this.router.navigate([pathToReturn], { relativeTo: this.route });\n }\n\n}\n","module.exports = \"\\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\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
        \"","module.exports = \".element-modal-body-content {\\n margin-left: 20px;\\n margin-right: 20px; }\\n\\n.element-modal-form-row {\\n margin-left: -30px;\\n margin-right: -30px; }\\n\"","import { Component, OnInit, ViewChild, EventEmitter, Output, ViewChildren, QueryList, HostListener, OnDestroy } from '@angular/core';\nimport { NgForm, NgModel } from '@angular/forms';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { Subscription } from 'rxjs';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { LoginRest } from '../../../login/login.rest';\nimport { IssueElement, Issue } from '../../../issues/issues.model';\nimport { IssuesExtRest } from '../../issues-ext.rest';\n\n@Component({\n selector: 'app-issue-ext-element-modal',\n templateUrl: './issue-ext-element-modal.component.html',\n styleUrls: ['./issue-ext-element-modal.component.scss']\n})\nexport class IssueExtElementModalComponent implements OnInit, OnDestroy {\n\n public states: ObjectToSelect[];\n public employees: ObjectToSelect[];\n public elementCopy: IssueElement;\n private element: IssueElement;\n private isAdding: boolean;\n private createdDate: DateInputModel;\n private issue: Issue;\n private subscription: Subscription;\n private currentUser: any;\n private summerNoteHeight = 500;\n constructor(private route: ActivatedRoute, private rest: IssuesExtRest, private loginRest: LoginRest) { this.onResize(); }\n\n private elementDescriptionView: RichTextComponent = null;\n\n @Output() onSuccess: EventEmitter = new EventEmitter();\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild('elementForm') elementForm: NgForm;\n @ViewChildren(RichTextComponent) elementDescriptionViews: QueryList;\n\n // @HostListener('document:keyup', ['$event'])\n // handleKeyboardEvent2(event: KeyboardEvent) {\n // if (this.element && !this.element.employeeId && document.activeElement.className.includes('modal')) {\n // this.employee.valueAccessor.optionsOpen(event.key);\n // }\n // }\n\n ngOnInit() {\n this.modal.title = 'Element zgłoszenia';\n this.getStates(); \n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = user;\n });\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 767){\n this.summerNoteHeight = 250;\n } else {\n this.summerNoteHeight = 500;\n }\n }\n\n public getStates() {\n this.rest.getStates(true).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n }\n });\n }\n\n public getCustomerEmployees(customerId: number) {\n const action = this.rest.getCustomerEmployees;\n\n if (this.issue.assigneeId) {\n action.call(this.rest, customerId, this.issue.assigneeId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n else {\n action.call(this.rest, customerId, 0).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n }\n\n public closeModal() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.modal.close();\n }\n\n public setModel(element: IssueElement, isAdding: boolean, issue: Issue) {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.isAdding = isAdding;\n this.issue = issue; \n \n if (isAdding) {\n element.objectStateId = this.states[0].id;\n element.issueId = this.issue.id;\n element.createdBy = this.currentUser.email;\n element.createdDate = new Date();\n element.isInternal = false;\n if (this.issue.assigneeId) {\n element.assignedTo = this.issue.assigneeName;\n element.objectStateId = this.states.find(x => x.name === 'Odpowiedź').id;\n element.employeeId = this.issue.assigneeId;\n element.employeeFullName = this.issue.assigneeName;\n } else {\n element.objectStateId = this.states.find(x => x.name === 'Odpowiedź').id;\n element.employeeId = this.currentUser.employeeId;\n element.employeeFullName = this.currentUser.name;\n } \n }\n this.elementCopy = element;\n this.element = this.elementCopy;\n this.modal.openWithCustomSize({'maxwidth': '1500px'});\n this.initializeDate();\n this.getDescription();\n this.getDescription(); \n this.getCustomerEmployees(this.issue.customerId); \n }\n\n private save() {\n if (this.element.isNew === true) {\n this.saveDescription();\n // this.element.employeeFullName = this.employees.find(x => x.id === this.element.employeeId).name.split(' (')[0];\n this.element.stateTranslation = this.states.find(x => x.id === this.element.objectStateId).name;\n const emmitData = {isSuccess: true, element: this.element, isNew: this.isAdding};\n if (this.issue.id.toString() !== '0') {\n //this.element.id = 0; \n this.rest.saveElement(this.element, this.element.isNew).subscribe((element: IssueElement) => {\n \n this.element.id = element.id;\n this.element.employeeFullName = element.employeeFullName;\n console.log('element', this.element)\n this.closeModal();\n this.onSuccess.emit(emmitData);\n });\n } else {\n this.element.id = (this.issue.issueElements.length !== 0 ? (-1) * Math.min.apply(Math, this.issue.issueElements.map(function (o) { return o.id; })) : 0);\n this.closeModal();\n this.onSuccess.emit(emmitData);\n }\n } else {\n this.closeModal();\n }\n }\n\n private initializeDate() {\n this.createdDate = new DateInputModel();\n this.createdDate.isReadOnly = true;\n this.createdDate.isRequired = false;\n this.createdDate.name = 'Data';\n this.createdDate.value = new Date(this.element.createdDate);\n this.createdDate.valueStr = this.createdDate.value.toDateString();\n this.createdDate.withTime = false;\n }\n\n private getDescription() {\n if (this.elementDescriptionView) {\n if (this.element.isNew === false) {\n this.elementDescriptionView.disableContol();\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n } else {\n this.elementDescriptionView.enableContol();\n if (this.isAdding) {\n this.elementDescriptionView.setHtml('');\n } else {\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n }\n }\n } else {\n this.subscription = this.elementDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (this.elementDescriptionView === null) {\n this.elementDescriptionView = nv.first;\n }\n\n if (this.elementDescriptionView && this.isAdding) {\n this.elementDescriptionView.setHtml('');\n this.element.htmlDescripiton = '';\n } else {\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n }\n\n if (this.element.isNew === false) {\n this.elementDescriptionView.disableContol();\n } else {\n this.elementDescriptionView.enableContol();\n }\n });\n }\n }\n\n private saveDescription() {\n this.element.htmlDescripiton = this.elementDescriptionView.getHtml();\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n private stateChanges(event: any) {\n if (event[0].text.localeCompare('Oczekiwanie na odpowiedź') === 0) {\n this.element.isInternal = false;\n // this.element.employeeId = this.currentUser.employeeId;\n } else if (event[0].text.localeCompare('Odpowiedź') === 0) {\n // this.element.employeeId = this.issue.assigneeId;\n } else if (event[0].text.localeCompare('Nowy') === 0 || event[0].text.localeCompare('Zakończony') === 0) {\n // this.element.employeeId = this.currentUser.employeeId;\n }\n }\n\n private employeeChanged(event: any) { \n if (this.issue.assigneeId==event[0].value)\n {\n this.element.objectStateId=this.states.find(x => x.guid === 'Response').id;;\n }\n else\n this.element.objectStateId=this.states.find(x => x.guid === 'WaitingForResponse').id;\n }\n}\n","module.exports = \"
        \\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\"","import { Component, OnInit, ViewChild, ViewChildren, QueryList} from '@angular/core';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Permissions } from '../../../core/services/permissions/permissions.model';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { IssueExtElementModalComponent } from '../issue-ext-element-modal/issue-ext-element-modal.component';\nimport { IssueElement, Issue } from '../../../issues/issues.model';\nimport { IssuesExtRest } from '../../issues-ext.rest';\nimport { ShellRestService } from '../../../shell/shell.rest';\n\n@Component({\n selector: 'app-issue-ext-elements',\n templateUrl: './issue-ext-elements.component.html',\n styleUrls: []\n})\nexport class IssueExtElementsComponent implements OnInit {\n\n private get selectionModes() { return SelectionMode; }\n public elements: IssueElement[];\n public assigneeName: string;\n private issue: Issue;\n private isNew: boolean;\n private selectedElementId: number;\n private elementsDescriptions: string;\n private showPreviousDescriptions: boolean;\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(IssueExtElementModalComponent) elementModal: IssueExtElementModalComponent;\n @ViewChildren(RichTextComponent) rowDescriptionViews: QueryList;\n private rowDescriptionView: RichTextComponent = null;\n\n private headers = [\n { displayName: 'Data', propertyName: 'createdDate', propertyType: 'date', isInitSort: true },\n { displayName: 'Status', propertyName: 'stateTranslation', propertyType: 'string' },\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Autor', propertyName: 'createdBy', propertyType: 'string' },\n { displayName: 'Odpowiedzialny', propertyName: 'assignedTo', propertyType: 'string' },\n ];\n\n permissions: Permissions;\n\n\n constructor(private rest: IssuesExtRest, private permissionsService: PermissionsService, private shellService: ShellRestService) { }\n\n ngOnInit() {\n this.shellService.GetLayoutSettings().subscribe(settings => {\n this.showPreviousDescriptions = settings.showPreviousDescriptions;\n if (this.showPreviousDescriptions && this.rowDescriptionView) {\n this.getDescription(this.elementsDescriptions);\n }\n });\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n \n public setModel(issue: Issue, isNew: boolean) {\n this.setPermissions('IssueExt');\n this.elements = issue.issueElements;\n this.issue = issue;\n this.isNew = isNew;\n this.concatDescriptions();\n }\n\n private getActionButtons() {\n return [];\n }\n\n private addElement() {\n if (this.issue.id == 0)\n {\n sweetAlert(`Brak możliwości dodania elementu dla nowego zgłoszenia.`);\n return;\n }\n\n this.elementModal.setModel(new IssueElement(), true, this.issue);\n }\n\n private editElement(row: IssueElement) {\n this.elementModal.setModel(row, false, this.issue);\n }\n\n private removeElement(row: IssueElement) { \n sweetAlert('Czy na pewno chcesz usunąć element?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n }).then((value) => {\n switch (value) {\n case 'yes':\n if (row.id != 0 && row.id != undefined) {\n this.rest.removeElement(row).subscribe();\n }\n \n this.elements.splice(this.elements.indexOf(row), 1);\n this.grid.refreshData();\n this.setIssueValuesForLastElement();\n this.previousDescriptionsChange(); \n break;\n }});\n }\n\n public getDescription(row: any) {\n if (this.rowDescriptionView) {\n if (this.showPreviousDescriptions) {\n this.rowDescriptionView.setHtml(this.elementsDescriptions);\n } else {\n if (typeof(row) === 'string') {\n this.rowDescriptionView.setHtml(row);\n } else {\n this.rowDescriptionView.setHtml(row.htmlDescripiton);\n }\n }\n this.rowDescriptionView.disableContol();\n }\n this.rowDescriptionViews.changes.subscribe((nv: QueryList) => {\n this.rowDescriptionView = nv.first;\n if (this.showPreviousDescriptions) {\n this.rowDescriptionView.setHtml(this.elementsDescriptions);\n } else {\n if (typeof(row) === 'string') {\n this.rowDescriptionView.setHtml(row);\n } else {\n this.rowDescriptionView.setHtml(row.htmlDescripiton);\n }\n }\n this.rowDescriptionView.disableContol();\n });\n }\n\n public onSuccessOperation(value) {\n if (value.isSuccess) {\n if (!value.isNew) {\n const index = this.elements.indexOf(value.element);\n this.elements[index] = value.element;\n } else {\n if (!this.grid.isAsc && this.grid.sortedColumn === 'createdDate') {\n this.elements.unshift(value.element);\n } else {\n this.elements.push(value.element);\n }\n }\n const date = new Date(value.element.createdDate);\n this.elementsDescriptions = ` ${date.toLocaleString()} ${value.element.createdBy}

        `\n + value.element.htmlDescripiton + '

        ' + this.elementsDescriptions;\n this.grid.refreshData();\n let element = this.elements.indexOf(value.element);\n this.grid.focusRow(value, element);\n this.grid.selectedItemId = value.element.id;\n this.setIssueValuesForLastElement();\n }\n }\n\n private previousDescriptionsChange() {\n if (this.showPreviousDescriptions) {\n this.concatDescriptions();\n } else {\n if (!this.grid.focusedRowId) {\n if (this.elements.length > 0) {\n this.selectedElementId = this.elements[0].id;\n this.grid.selectedItemId = this.selectedElementId;\n this.grid.focusedRowId = this.selectedElementId;\n this.grid.focusRow(this.elements[0], 0);\n } else {\n this.getDescription('');\n }\n } else {\n this.selectedElementId = this.grid.focusedRowId;\n this.grid.selectedItemId = this.selectedElementId;\n this.getDescription(this.elements[this.grid.selectedItemId]);\n }\n }\n }\n\n private concatDescriptions(){\n this.elementsDescriptions = '';\n let previousElements = new Array();\n if (this.grid && this.grid.focusedRowId) {\n for (const element of this.elements) {\n if (new Date(element.createdDate).getTime() <= new Date(this.issue.issueElements[this.grid.focusedRowId].createdDate).getTime()) {\n previousElements.push(element);\n }\n }\n } else {\n previousElements = this.elements;\n }\n previousElements.sort((a, b) => new Date(b.createdDate).getTime() - new Date(a.createdDate).getTime());\n for (const element of previousElements) {\n let date = new Date(element.createdDate.toLocaleString());\n if (date.toString() == 'Invalid Date') {\n date = new Date(element.createdDate);\n }\n if (element.htmlDescripiton && element.htmlDescripiton.trim() !== '') {\n this.elementsDescriptions += ` ${date.toLocaleString()} ${element.createdBy}

        `;\n this.elementsDescriptions += element.htmlDescripiton + '

        ';\n }\n }\n\n if (this.issue.htmlDescripiton && this.issue.htmlDescripiton.trim() !== '') {\n const issueStartDate = new Date(this.issue.startDate);\n this.elementsDescriptions += ` ${issueStartDate.toLocaleString()} OPIS ZGŁOSZENIA

        `;\n this.elementsDescriptions += this.issue.htmlDescripiton + '

        ';\n }\n\n if (this.showPreviousDescriptions) {\n this.getDescription(this.elementsDescriptions);\n } else {\n if (this.elements.length > 0 && this.grid) {\n this.selectedElementId = this.elements[0].id;\n this.grid.selectedItemId = this.selectedElementId;\n this.grid.focusedRowId = this.selectedElementId;\n this.getDescription(this.elements.find(x => x.id === this.selectedElementId));\n } else {\n this.getDescription('');\n }\n }\n }\n\n private rowFocus(row: any) {\n if (this.showPreviousDescriptions) {\n this.concatDescriptions();\n } else {\n if (row.element) {\n this.getDescription(row.element);\n } else {\n this.getDescription(row);\n }\n }\n }\n\n private setIssueValuesForLastElement() {\n const lastElement = this.issue.issueElements.sort((a, b) => new Date(a.createdDate).getTime() - new Date(b.createdDate).getTime())[this.issue.issueElements.length-1];\n if (lastElement) {\n this.issue.objectStateId = lastElement.objectStateId;\n this.issue.elementAssignee = lastElement.employeeFullName;\n }\n }\n}\n","module.exports = \"
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\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 {{option.data.name}} [{{option.data.guid}}]\\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n \\n \\n Uzupełnij wartość. \\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 Obserwatorzy\\n \\n \\n \\n \\n \\n \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n \\n
        \\n
        \"","import { Component, OnInit, ViewChildren, QueryList, ViewChild, HostListener, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { EmployeesListComponent } from '../../../company/employees/employee-list/employees-list.component';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { SpinEditComponent } from '../../../core/shared/spinedit/spinedit.component';\nimport { ProjectWatcher } from '../../../projects/projects.model';\nimport { ProjectsRest } from '../../../projects/projects.rest';\nimport { CustomersRest } from '../../../company/customers/customers.rest';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { Subscription } from 'rxjs';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { LoginRest } from '../../../login/login.rest';\nimport { IssuesExtRest } from '../../issues-ext.rest';\nimport { Issue, IssueWatcher, IssueElement } from '../../../issues/issues.model';\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../core/shared/dialog/dialog-config';\nimport { ShellRestService } from '../../../shell/shell.rest';\n\n@Component({\n selector: 'app-issue-ext-header',\n templateUrl: './issue-ext-header.component.html',\n styleUrls: []\n})\nexport class IssueExtHeaderComponent implements OnInit, OnDestroy, HasPermissions {\n isCopy: boolean;\n constructor(private router: Router,\n private route: ActivatedRoute,\n private restExt: IssuesExtRest,\n public dialog: DialogService,\n private permissionService: PermissionsService,\n private loginRest: LoginRest,\n private shellRest: ShellRestService) {\n this.onResize();\n }\n\n public issueTypes: ObjectToSelect[];\n public employees: ObjectToSelect[];\n public departments: ObjectToSelect[];\n public systemVersions: ObjectToSelect[];\n public states: ObjectToSelect[];\n public projectSteps: ObjectToSelect[];\n public issue: Issue;\n public isNew: boolean;\n public startDate: DateInputModel;\n public isEditable: boolean;\n\n private descriptionView: RichTextComponent = null;\n private summerNoteHeight = 680;\n private subscription: Subscription;\n private oldProject: string;\n private oldCustomer: string;\n private currentUser: ObjectToSelect; \n private notAssignedIssue: boolean;\n\n @ViewChildren(RichTextComponent) headerExtDescriptionViews: QueryList;\n @ViewChild(GridComponent) watchersGrid: GridComponent;\n @ViewChild('issueFormExt') issueForm: NgForm;\n @ViewChild('priority') isPublic: SpinEditComponent;\n @ViewChild('planningWorkTime') planningWorkTime: SpinEditComponent;\n\n private watchersHeaders = [\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n ];\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.getIssueTypes();\n this.getDepartments();\n this.getStates();\n this.employees = new Array();\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public setModel(issue: Issue, isNew: boolean, isCopy: boolean) {\n this.setPermissions('IssueExt');\n this.issue = issue;\n this.isNew = isNew;\n this.isCopy = isCopy ;\n\n this.shellRest.IsBlockedCustomer().subscribe((isBlockedCustomer: boolean) => {\n if (isBlockedCustomer)\n this.isEditable = false;\n else\n this.isEditable = isNew ? this.permissions.canAdd : this.permissions.canEdit;\n\n if (isNew) { \n if(!this.isCopy){\n this.issue.projectName = '';\n this.issue.projectStepId = null;\n this.issue.projectStepName = '';\n this.issue.userStoryId = null;\n this.issue.userStoryName = '';\n this.issue.systemVersionId = null;\n }\n this.getCurrentUser(true);\n }\n this.setCustomerInfo();\n \n\n if (isNew) {\n if (!this.issue.issueType) {\n this.issue.issueType = this.issueTypes[0].name;\n }\n if (!this.issue.departmentId) {\n this.issue.departmentId = this.departments[0].id;\n }\n if (!this.issue.systemVersionId) {\n this.issue.systemVersionId = null;\n }\n }\n\n this.initializeDate();\n this.getDescription();\n\n if (this.issue.elementAssignee == null && !this.isNew) {\n this.notAssignedIssue = true;\n }\n });\n }\n\n private setCustomerInfo() {\n this.getSystemVersions(this.issue.customerId);\n this.getCustomerProjectSteps(this.issue.customerId);\n this.getCustomerEmployees(this.issue.customerId);\n }\n\n\n public getSystemVersions(customerId: number) {\n this.restExt.getSystemVersions(customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.systemVersions = result;\n }\n });\n }\n\n\n private initializeDate() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = true;\n this.startDate.isRequired = false;\n this.startDate.name = 'Data zgłoszenia';\n this.startDate.value = new Date(this.issue.startDate);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.withTime = false;\n }\n\n public saveDescription() {\n if (this.descriptionView == null) {\n return;\n }\n\n if (this.issue && typeof(this.descriptionView.getHtml()) === 'string' && this.descriptionView.getHtml() !== '') {\n this.issue.htmlDescripiton = this.descriptionView.getHtml();\n }\n }\n\n\n public getDescription() {\n if (!this.headerExtDescriptionViews) {\n return;\n }\n this.subscription = this.headerExtDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (this.descriptionView === null) {\n this.descriptionView = nv.first;\n }\n\n if (this.descriptionView && this.isNew && !this.issue.htmlDescripiton && this.issue.htmlDescripiton !== '') {\n this.descriptionView.setHtml('');\n this.issue.htmlDescripiton = '';\n } else if (!this.isNew) {\n this.descriptionView.setHtml(this.issue.htmlDescripiton);\n }\n\n if (!this.isEditable || this.issue.assigneeId ) {\n this.descriptionView.disableContol();\n }\n });\n\n if (!this.descriptionView) {\n if (this.headerExtDescriptionViews.first) {\n this.descriptionView = this.headerExtDescriptionViews.first;\n this.descriptionView.setHtml(this.issue.htmlDescripiton);\n }\n }\n }\n\n public addWatcher() {\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz Obserwatorów';\n dialogconf.selectionMode = SelectionMode.multi;\n dialogconf.maxwidth = '1000px';\n dialogconf.data = {isFromExternalIssues: true, customerId: this.issue.customerId, customerCode: this.issue.customerCode};\n const ref = this.dialog.open(EmployeesListComponent, dialogconf);\n ref.afterClosed.subscribe(result => {\n if (result != null) {\n result.forEach(element => {\n const watcher = new IssueWatcher;\n watcher.issueId = this.issue.id;\n watcher.employeeFullName = element.fullName;\n watcher.employeeId = element.id;\n this.issue.issueWatchers.push(watcher);\n });\n this.watchersGrid.refreshData();\n }\n });\n }\n\n public getIssueTypes() {\n const action = this.restExt.getIssueTypes;\n action.call(this.restExt).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.issueTypes = result;\n }\n });\n }\n\n public getDepartments() {\n const action = this.restExt.getDepartments;\n action.call(this.restExt).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.departments = result;\n }\n });\n }\n \n public getStates() { \n this.restExt.getStates(false).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n }\n });\n }\n\n private removeWatcher(row: IssueWatcher) {\n if (row.id != null) {\n this.restExt.removeWatcher(row.id).subscribe();\n }\n this.issue.issueWatchers.splice(this.issue.issueWatchers.indexOf(row), 1);\n this.watchersGrid.refreshData();\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 650) {\n this.summerNoteHeight = 280;\n } else {\n this.summerNoteHeight = 430;\n }\n }\n public isInvalid() {\n return this.issueForm.invalid;\n }\n\n private tfsChanged() {\n if (this.issue.isToTfs) {\n this.issue.issueType = this.issueTypes.find(x => x.name === 'User Story').name;\n } else {\n this.issue.issueType = this.issueTypes.find(x => x.name === 'Zgłoszenie').name;\n }\n }\n\n private getCustomerProjectSteps(customerId: number) {\n this.restExt.getCustomerProjectStepsForIssue(customerId, this.issue.id).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.projectSteps = result;\n }\n });\n }\n\n private setProjectStepName(event) {\n if (event[0]) {\n this.issue.projectStepName = event[0].data.name;\n }\n }\n\n private projectChanged() {\n this.issue.issueWatchers = this.issue.issueWatchers.filter((element) => {\n return element.isFromProject !== true;\n });\n this.watchersGrid.refreshData();\n if (this.issue.projectStepId == null) {\n return;\n }\n const action = this.restExt.getProjectWatchersByProjectStepId;\n action.call(this.restExt, this.issue.projectStepId).subscribe((result: ProjectWatcher[]) => {\n if (result) {\n result.forEach(element => {\n if (this.issue.issueWatchers.filter(x => x.employeeId === element.employeeId).length === 0) {\n const watcher = Object.assign( new IssueWatcher(), {\n employeeId: element.employeeId,\n employeeFullName: element.projectWatcherName,\n isFromProject: true\n });\n this.issue.issueWatchers.push(watcher);\n this.watchersGrid.refreshData();\n }\n });\n }\n });\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n if (item.data) {\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n } else {\n return false;\n }\n }\n\n private getCustomerEmployees(customerId: number) {\n\n if (this.issue.assigneeId) {\n this.restExt.getCustomerEmployees(customerId,this.issue.assigneeId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n else {\n this.restExt.getCustomerEmployees(customerId,0).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n }\n\n private getCurrentUser(withSetAssigneeAndReporter = false) {\n if (!this.currentUser) {\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = new ObjectToSelect();\n this.currentUser.id = user.employeeId;\n this.currentUser.name = user.name;\n this.currentUser.guid = user.email;\n if (withSetAssigneeAndReporter) {\n this.setCurrentUserAsAssigneeAndReporter();\n }\n });\n } else {\n if (withSetAssigneeAndReporter) {\n this.setCurrentUserAsAssigneeAndReporter();\n }\n }\n }\n\n private setCurrentUserAsAssigneeAndReporter() {\n this.issue.reporterId = this.currentUser.id;\n if (this.employees.filter(x => x.id === this.currentUser.id).length === 0) {\n this.employees.push(this.currentUser);\n }\n }\n}\n","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        \\n \\n {{ successMessage }}\\n \\n
        \\n\\n \\n \\n
        \\n
        \\n
        \\n
        \"","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { IssueService } from '../../issues/issue.service';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { SortedColumn, GridMainFilter, GridSelection, SelectionMode } from '../../core/shared/grid/grid.model';\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { IssuesExtRest } from '../issues-ext.rest';\nimport { Permissions } from '../../core/services/permissions/permissions.model';\nimport { IssueRow } from '../../issues/issues.model';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { ShellRestService } from '../../shell/shell.rest';\n\n@Component({\n selector: 'app-issues-ext-list',\n templateUrl: './issues-ext-list.component.html',\n styleUrls: []\n})\nexport class IssuesExtListComponent extends GridSelection implements OnInit,AfterViewInit, GridParamsRestorable {\n\n //grid Params\n initialFilters: any;\n initialPageNumber: number;\n initialPageSize: number;\n initialSortedColumn: SortedColumn;\n editedItemId: any;\n previousMainFilters: any;\n detailsPath: string;\n\n path: string;\n @ViewChild(GridComponent) grid: GridComponent;\n\n public permissions: Permissions;\n public isRestoredMainFilter: boolean;\n private isEditable: boolean;\n private isRemovable: boolean;\n private isAdd: boolean;\n private issueState: string;\n private canAdd; \n\n private headers = [\n { displayName: 'Tytuł', propertyName: 'fullTitle', propertyType: 'string'},\n { displayName: 'Zmieniono', propertyName: 'updatedDate', propertyType: 'date', isInitSort: true, dateFormat: 'dd.MM.yyyy HH:mm'},\n { displayName: 'Zgłoszono', propertyName: 'createdDate', propertyType: 'date' , dateFormat: 'dd.MM.yyyy HH:mm'},\n { displayName: 'Kontrahent', propertyName: 'customerCode', propertyType: 'string' },\n { displayName: 'Etap', propertyName: 'projectFullName', propertyType: 'string' },\n { displayName: 'Zgłaszający', propertyName: 'reporterName', propertyType: 'string' },\n { displayName: 'Przypisany', propertyName: 'elementAssignee', propertyType: 'string' },\n { displayName: 'Odpowiedzialny', propertyName: 'assigneeName', propertyType: 'string' },\n { displayName: 'Autor', propertyName: 'author', propertyType: 'string' },\n { displayName: 'Status', propertyName: 'issueState', propertyType: 'string' } \n ];\n\n private gridMenuButtons: MenuButton[] = [\n { text: 'Kopiuj', class: \"btn-success\", icon: '', onClick: () => { this.copy() }, enabled: true, isForSelected: true }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private issueRest: IssuesExtRest,\n private gridParamsRestoringService: GridParamsRestoringService,\n private spinnerService: SpinnerService,\n private issueService: IssueService,\n private permissionService: PermissionsService, \n private shellRest: ShellRestService) {\n super();\n this._grid = this.grid; \n }\n\n ngOnInit() {\n this.spinnerService.show();\n\n this.setPermissions('IssueExt');\n this.selectionMode = this.selectionMode === SelectionMode.none ? SelectionMode.multi : this.selectionMode;\n \n this.route.data.subscribe( x => {\n this.issueState = x.issueState;\n this.path = `api/issueexternal/grid/${this.issueState}`;\n this.detailsPath = `/extissues/${this.issueState}/issuedetails`;\n if(this.issueState.includes('finished')){\n this.canAdd = false\n } \n });\n this.tryRestoreFiltersAndPage();\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n this.isEditable = this.permissions.canEdit || this.permissions.canShow;\n this.canAdd = this.permissions.customerId && this.permissions.customerId != 0 && this.permissions.canAdd;\n }\n\n private tryRestoreFiltersAndPage() {\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\n if (!previousGridParams) {\n return;\n }\n this.initialFilters = previousGridParams.initialFilters;\n this.previousMainFilters = previousGridParams.previousMainFilters;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n }\n\n private onRowAdd() {\n this.shellRest.IsBlockedCustomer().subscribe((isBlockedCustomer: boolean) => {\n if (isBlockedCustomer)\n sweetAlert(\"Kontrahent jest zablokowany. Brak możliwości kopiowania zgłoszeń.\");\n else {\n this.issueService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['issuedetails', 'new'], {queryParams: {id: 0} , relativeTo: this.route } );\n }\n });\n }\n\n private onRowEdit(row: IssueRow) {\n this.issueService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['issuedetails', row.id], { queryParams: { id: row.id }, relativeTo: this.route });\n }\n\n private onRowDelete(row: IssueRow) {\n this.shellRest.IsBlockedCustomer().subscribe((isBlockedCustomer: boolean) => {\n if (isBlockedCustomer)\n sweetAlert(\"Kontrahent jest zablokowany. Brak możliwości kopiowania zgłoszeń.\");\n else{\n sweetAlert('Czy na pewno chcesz usunąć zgłoszenie?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.issueRest.checkIfIssueHasElements(row.id).subscribe((result: boolean) => {\n if (result === true) {\n let message = `Zgłoszenie posiada elementy. Czy na pewno chcesz je usunąć?`;\n sweetAlert(message,{\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.deleteIssue(row.id);\n break;\n }\n });\n } else {\n this.deleteIssue(row.id);\n }\n });\n break;\n }\n });\n }\n });\n }\n \n private deleteIssue(id: number) { \n this.issueRest.removeIssue(id).subscribe((result: string) => {\n if (result) {\n sweetAlert({ text: `Usunięto zgłoszenie` });\n this.grid.refreshData(false);\n }\n }); \n }\n\n private copy() {\n var selectedItems = this.grid.getSelectedItems();\n\n if (selectedItems.length == 0) {\n sweetAlert(\"Nie zaznaczono elementu.\");\n return;\n }\n\n if (selectedItems.length > 1) {\n sweetAlert(\"Zaznaczono więcej niż jeden element.\");\n return;\n }\n\n this.shellRest.IsBlockedCustomer().subscribe((isBlockedCustomer: boolean) => {\n if (isBlockedCustomer)\n sweetAlert(\"Kontrahent jest zablokowany. Brak możliwości kopiowania zgłoszeń.\");\n else {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, selectedItems[0].id);\n this.router.navigate(['issuedetails', 'copy', selectedItems[0].id], { queryParams: { isCopy: 1, id: selectedItems[0].id}, relativeTo: this.route });\n }\n }); \n }\n}\n","import { NgModule } from '@angular/core';\nimport { IssuesExtListComponent } from './issues-ext-list/issues-ext-list.component';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule } from '../core/shared/shared.module';\nimport { IssuesExtRest } from './issues-ext.rest';\nimport { IssuesExtRouting } from './issues-ext.routing';\nimport { IssueExtDetailsComponent } from './issues-ext-details/issue-ext-details/issue-ext-details.component';\nimport { IssueExtHeaderComponent } from './issues-ext-details/issue-ext-header/issue-ext-header.component';\nimport { IssueExtElementsComponent } from './issues-ext-details/issue-ext-elements/issue-ext-elements.component';\nimport { IssueExtElementModalComponent } from './issues-ext-details/issue-ext-element-modal/issue-ext-element-modal.component';\nimport { ProjectsRest } from '../projects/projects.rest';\nimport { CustomersRest } from '../company/customers/customers.rest';\nimport { CustomersListModule } from '../company/customers/customers-list/customers-list.module';\nimport { ProjectsRowsModule } from '../projects/project-rows/project-rows.module';\nimport { EmployeesModule } from '../company/employees/employes.module';\n\n@NgModule({\n imports: [\n CommonModule,\n IssuesExtRouting,\n SharedModule,\n CustomersListModule,\n ProjectsRowsModule,\n EmployeesModule\n ],\n exports: [\n IssuesExtListComponent,\n IssueExtDetailsComponent,\n IssueExtHeaderComponent,\n IssueExtElementsComponent,\n IssueExtElementModalComponent],\n declarations: [\n IssuesExtListComponent,\n IssueExtDetailsComponent,\n IssueExtHeaderComponent,\n IssueExtElementsComponent,\n IssueExtElementModalComponent],\n providers: [IssuesExtRest, ProjectsRest, CustomersRest],\n})\nexport class IssuesExtModule { }\n","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../core/core/rest.service\";\nimport { Issue, IssueElement } from \"../issues/issues.model\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { ProjectWatcher } from \"../projects/projects.model\";\n\n@Injectable()\nexport class IssuesExtRest {\n constructor(private http: RestService) { }\n\n public checkIfIssueHasElements(id: number) {\n return this.http.get(`api/issueexternal/checkIfIssueHasElements/${id}`);\n }\n \n public removeIssue(id: number) { \n return this.http.post(`api/issueexternal/deleteIssue/${id}`, {});\n }\n\n public getIssue(issueId: number) {\n return this.http.get(`api/issueexternal/issue/${issueId}`);\n }\n\n public createEmptyIssue(employeeId: number, customerId: number) {\n return this.http.get(`api/issueexternal/createEmptyIssue/${employeeId}/${customerId}`);\n }\n\n public saveIssue(issue: Issue, isNew: boolean) {\n return this.http.post(`api/issueexternal/saveIssue/${isNew}`, issue);\n }\n\n public saveElement(element: IssueElement, isNew: boolean) { \n return this.http.post(`api/issueexternal/saveElement/${isNew}`, element);\n }\n\n public removeElement(element: IssueElement) {\n return this.http.post(`api/issueexternal/removeElement/${element.id}/${element.issueId}`, {});\n }\n\n public copyIssue(issueId: number) {\n return this.http.post(`api/issueexternal/copyIssue`, issueId);\n }\n\n public getEmptySystemVersion() {\n return this.http.get(`api/issueexternal/getEmptySystemVersion`);\n }\n\n public getIssueElements(issueId: number) {\n return this.http.get(`api/issueexternal/issue/elements/${issueId}`);\n }\n\n public removeWatcher(id: number) {\n return this.http.post(`api/issueexternal/removeWatcher/${id}`, {});\n }\n\n public getCustomerEmployees(customerId: number, issueAssigneeId: number) {\n return this.http.get(`api/issueexternal/getCustomerEmployees/${customerId}/${issueAssigneeId}`);\n }\n public getSystemVersions(customerId: number) {\n return this.http.get(`api/issueexternal/getSystemVersions/${customerId}`);\n }\n\n public getIssueTypes() {\n return this.http.get(`api/issueexternal/issueTypes`);\n }\n\n public getEmployees() {\n return this.http.get(`api/issueexternal/employees`);\n }\n\n public getDepartments() {\n return this.http.get('api/issueexternal/departments');\n }\n\n public getStates(isElement: boolean) {\n return this.http.get(`api/issueexternal/states/${isElement}`);\n }\n\n public getCustomerProjectStepsForIssue(customerId: number, objectId: number){\n return this.http.get(`api/issueexternal/getCustomerProjectStepsForIssue/${customerId}/${objectId}`);\n }\n\n public getProjectWatchersByProjectStepId(projectStepId: number) {\n return this.http.get(`api/issueexternal/getProjectWatchersByProjectStepId/${projectStepId}`);\n }\n\n}","import { Routes, RouterModule } from '@angular/router';\nimport { IssuesExtListComponent } from './issues-ext-list/issues-ext-list.component';\nimport { ShellGuard } from '../shell/shell.guard';\nimport { IssueExtDetailsComponent } from './issues-ext-details/issue-ext-details/issue-ext-details.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n { path: 'active', component: IssuesExtListComponent, data: {issueState: 'active'}},\n { path: 'myactive', component: IssuesExtListComponent, canActivate: [ShellGuard], data: {issueState: 'myactive'}},\n { path: 'finished', component: IssuesExtListComponent, canActivate: [ShellGuard], data: {issueState: 'finished'}},\n { path: 'myfinished',component: IssuesExtListComponent, canActivate: [ShellGuard], data: {issueState: 'myfinished'}},\n { path: 'all', component: IssuesExtListComponent, canActivate: [ShellGuard], data: {issueState: 'all'}},\n { path: ':state/issuedetails/:name', component: IssueExtDetailsComponent},\n { path: ':state/issuedetails/:name/:id', component: IssueExtDetailsComponent}\n ];\n\n export const IssuesExtRouting = RouterModule.forChild(routes);","import { NgModule } from \"@angular/core\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { IssuesRest } from \"../issues.rest\";\nimport { IssueHeaderComponent } from \"./issue-header/issue-header.component\";\nimport { IssueDetailsComponent } from \"./issue-details/issue-details.component\";\nimport { IssueDetailsRouting } from \"./issue-details.routing\";\nimport { IssueElementsComponent } from \"./issue-elements/issue-elements.component\";\nimport { IssueElementModalComponent } from './issue-element-modal/issue-element-modal.component';\nimport { CustomersListModule } from \"../../company/customers/customers-list/customers-list.module\";\nimport { ProjectsRowsModule } from \"../../projects/project-rows/project-rows.module\";\nimport { ProjectRowsComponent } from \"../../projects/project-rows/project-rows.component\";\nimport { EmployeesListComponent } from \"../../company/employees/employee-list/employees-list.component\";\nimport { EmployeesModule } from \"../../company/employees/employes.module\";\nimport { IssueRelationsComponent } from './issue-relations/issue-relations.component';\nimport { IssueWorklogsComponent } from './issue-worklogs/issue-worklogs.component';\nimport { IssueService } from \"../issue.service\";\n\n@NgModule({\n imports: [ \n SharedModule,\n IssueDetailsRouting,\n CustomersListModule, \n ProjectsRowsModule, \n EmployeesModule],\n declarations: [\n IssueDetailsComponent,\n IssueHeaderComponent,\n IssueElementsComponent,\n IssueElementModalComponent,\n IssueRelationsComponent,\n IssueWorklogsComponent\n ],\n entryComponents: [ProjectRowsComponent, EmployeesListComponent],\n providers: [ IssuesRest ]\n })\n export class IssueDetailsModule { }","import { RouterModule, Routes } from \"@angular/router\";\nimport { IssueDetailsComponent } from \"./issue-details/issue-details.component\";\nimport { IssueElementsComponent } from \"./issue-elements/issue-elements.component\";\nimport { WorklogDetailsModule } from \"../../worklogs/worklog-details/worklog-details.module\";\nimport { WorklogDetailsNoIssueModule } from \"../../worklogs/worklog-details/worklog-details-no-issue.module\";\n\nconst routes: Routes = [\n { path: ':Id', component: IssueDetailsComponent },\n { path: 'copy/:Id', component: IssueDetailsComponent },\n { path: 'new', component: IssueDetailsComponent },\n { path: ':Id/worklogdetails', loadChildren: () => WorklogDetailsNoIssueModule },\n //{ path: ':Id/elements', component: IssueElementsComponent },\n];\n\nexport const IssueDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
        \\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
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild, QueryList, AfterViewInit, HostListener } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { IssuesRest } from '../../issues.rest';\nimport { IssueHeaderComponent } from '../issue-header/issue-header.component';\nimport { Issue } from '../../issues.model';\nimport { MenuButton } from '../../../core/shared/tabmenu/tabmenu.model';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { IssueElementsComponent } from '../issue-elements/issue-elements.component';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { LoginRest } from '../../../login/login.rest';\nimport { IssueRelationsComponent } from '../issue-relations/issue-relations.component';\nimport { IssueWorklogsComponent } from '../issue-worklogs/issue-worklogs.component';\nimport { AttachmentsComponent } from '../../../core/shared/attachments/attachments.component';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { IssueService } from '../../issue.service';\nimport { AttachmentRest } from '../../../core/shared/attachments/attachments.rest';\nimport { EmployeesRest } from '../../../company/employees/employee.rest';\n\n@Component({\n selector: 'app-issue-details',\n templateUrl: './issue-details.component.html',\n styleUrls: ['./issue-details.component.scss']\n})\nexport class IssueDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: IssuesRest,\n private loginRest: LoginRest,\n private permissionsService: PermissionsService,\n private spinnerService: SpinnerService,\n private issueService: IssueService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private attachmentRest: AttachmentRest,\n private employeeRest: EmployeesRest) { }\n\n @ViewChild(IssueHeaderComponent) issueHeaderComponent: IssueHeaderComponent;\n @ViewChild(IssueElementsComponent) issueElementsComponent: IssueElementsComponent;\n @ViewChild(IssueRelationsComponent) issueRelationsComponent: IssueRelationsComponent;\n @ViewChild(IssueWorklogsComponent) issueWorklogsComponent: IssueWorklogsComponent;\n @ViewChild(AttachmentsComponent) attachmentsComponent: AttachmentsComponent;\n\n public issue: Issue;\n public isNew: boolean;\n public employeeId: number;\n public selectedTab = 1;\n public isCopy = false;\n private isSaving = false;\n\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false };\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('Issue');\n\n if (this.permissions.canAdd || this.permissions.canEdit) {\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = true;\n this.saveButton.enabled = true;\n }\n\n if (!this.issueHeaderComponent.headerDescriptionViews) {\n this.issueHeaderComponent.headerDescriptionViews = null;\n }\n\n this.route.queryParams.subscribe(params => {\n if (params.isCopy) {\n this.isCopy = params.isCopy;\n this.rest.copyIssue(params.id).subscribe(issue => {\n this.isNew = true;\n this.issue = issue;\n this.issue.htmlDescripiton = null;\n this.issueHeaderComponent.setModel(this.issue, this.isNew);\n this.spinnerService.hide();\n });\n } else {\n this.issueService.currentIssue.subscribe((currentIssue: Issue) => {\n if (params.id) {\n this.spinnerService.show();\n if (currentIssue && (currentIssue.id.toString() === params.id)) {\n this.isNew = params.id === '0' ? true : false;\n this.issue = currentIssue;\n this.issueHeaderComponent.saveDescription();\n this.issueHeaderComponent.setModel(this.issue, this.isNew);\n this.spinnerService.hide();\n } else {\n if (params.id === '0') {\n this.isNew = true;\n this.loginRest.GetLoggedUser().subscribe(result => {\n this.rest.createEmptyIssue(result.employeeId).subscribe(issue => {\n this.issue = issue;\n this.issueHeaderComponent.saveDescription();\n this.issueHeaderComponent.setModel(this.issue, this.isNew);\n this.spinnerService.hide();\n });\n });\n } else {\n this.isNew = false;\n this.rest.getIssue(params.id).subscribe(issue => {\n this.issue = issue;\n this.issueHeaderComponent.saveDescription();\n this.issueHeaderComponent.setModel(this.issue, this.isNew);\n this.spinnerService.hide();\n });\n }\n }\n }\n }).unsubscribe();\n }\n this.issueService.currentTab.subscribe((tabIndex: number) => {\n if (tabIndex && tabIndex !== 0) {\n this.selectedTab = tabIndex;\n if (this.selectedTab === 5) {\n this.issueWorklogsComponent.setModel(this.issue.worklogs, this.issue, this.permissions.canEdit);\n }\n }\n }).unsubscribe();\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.issueElementsComponent != null && this.issueElementsComponent.elementModal != null\n && this.issueElementsComponent.elementModal.modal.modalRoot.isShown === true) {\n return;\n }\n this.save();\n event.preventDefault();\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n if (tabChangeEvent.index === 1) {\n if (this.issue.issueElements) {\n const lastElement = this.issue.issueElements.sort((a, b) => new Date(a.createdDate).getTime() - new Date(b.createdDate).getTime())[this.issue.issueElements.length - 1];\n if (lastElement) {\n this.issue.objectStateId = lastElement.objectStateId;\n this.issue.elementAssignee = lastElement.employeeFullName;\n }\n }\n this.issueHeaderComponent.getDescription();\n }\n if (tabChangeEvent.index === 2) {\n let assigneeName = '';\n if (this.issue.assigneeId && this.issue.assigneeId !== 0) {\n let assignee = this.issueHeaderComponent.employees.find(x => x.id === this.issue.assigneeId);\n\n if (assignee == null) {\n this.employeeRest.getEmployee(this.issue.assigneeId).subscribe(empl => assigneeName = empl.fullName)\n } else {\n assigneeName = assignee.name;\n }\n }\n\n if (this.issue.issueElements == undefined || this.issue.issueElements.some(x => x.autoForNotAssigned)) {\n this.spinnerService.show();\n let autoForNotAssignedElement = null;\n if (this.issue.issueElements && this.issue.issueElements.some(x => x.autoForNotAssigned)) {\n autoForNotAssignedElement = this.issue.issueElements.find(x => x.autoForNotAssigned);\n }\n this.rest.getIssueElements(this.issue.id).subscribe(issueElements => {\n this.issue.issueElements = issueElements;\n if (autoForNotAssignedElement) {\n this.issue.issueElements.push(autoForNotAssignedElement);\n }\n this.issueElementsComponent.setModel(this.issue, assigneeName, this.isNew);\n this.spinnerService.hide();\n });\n } else {\n this.issueElementsComponent.setModel(this.issue, assigneeName, this.isNew);\n }\n }\n if (tabChangeEvent.index === 3) {\n if (!this.issue.attachments || this.issue.attachments.length === 0) {\n let path = `api/issues/attachments/grid/${this.issue.objectTypeId}/${this.issue.id}`;\n this.attachmentRest.getAttachmentsGrid(path).subscribe(res => {\n this.issue.attachments = res;\n this.attachmentsComponent.setModel(this.issue, 'issues');\n });\n }\n else {\n this.attachmentsComponent.setModel(this.issue, 'issues');\n }\n }\n if (tabChangeEvent.index === 4) {\n if (this.issue.issueRelations == undefined) {\n this.spinnerService.show();\n this.rest.getIssueRelations(this.issue.id).subscribe(issueRelations => {\n this.issue.issueRelations = issueRelations;\n this.issueRelationsComponent.setModel(this.issue.issueRelations, this.permissions.canEdit, this.issue.id, this.isNew);\n this.spinnerService.hide();\n });\n } else {\n this.issueRelationsComponent.setModel(this.issue.issueRelations, this.permissions.canEdit, this.issue.id, this.isNew);\n }\n }\n if (tabChangeEvent.index === 5) {\n if (this.issue.worklogs == undefined) {\n this.spinnerService.show();\n this.rest.getIssueWorklogs(this.issue.id).subscribe(issueWorklogs => {\n this.issue.worklogs = issueWorklogs;\n this.issueWorklogsComponent.setModel(this.issue.worklogs, this.issue, this.permissions.canEdit);\n this.spinnerService.hide();\n });\n } else {\n this.issueWorklogsComponent.setModel(this.issue.worklogs, this.issue, this.permissions.canEdit);\n }\n }\n\n this.issueHeaderComponent.saveDescription();\n }\n\n private save() {\n if (this.isNew && (this.issue.issueElements == undefined || this.issue.issueElements.length == 0)) {\n sweetAlert(`Brak elementów na zgłoszeniu. Proszę wprowadzić element.`);\n return;\n }\n\n this.issueHeaderComponent.saveDescription();\n if (this.issueHeaderComponent.isInvalid()) {\n sweetAlert(`Uzupełnij wymagane pola na nagłówku`);\n return;\n }\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n this.spinnerService.show();\n if (!this.issue.systemVersionId) {\n const action = this.rest.getEmptySystemVersion;\n action.call(this.rest).subscribe((result: number) => {\n if (result) {\n this.issue.systemVersionId = result;\n this.saveIssue();\n }\n });\n } else {\n this.saveIssue();\n }\n }\n\n private saveIssue() {\n const action = this.rest.saveIssue;\n action.call(this.rest, this.issue, this.isNew).subscribe((result: Issue) => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(result.id);\n }\n this.isSaving = false;\n this.close();\n }, (error) => {\n this.isSaving = false;\n });\n }\n\n private close() {\n this.issueHeaderComponent.headerDescriptionViews = null;\n this.issueService.complete();\n let pathToReturn = '../../';\n if (this.isCopy) {\n pathToReturn = '../../../';\n }\n this.router.navigate([pathToReturn], { relativeTo: this.route });\n this.spinnerService.hide();\n }\n}\n","module.exports = \"\\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n Uzupełnij wartość. \\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
        \"","module.exports = \".element-modal-body-content {\\n margin-left: 20px;\\n margin-right: 20px; }\\n\\n.element-modal-form-row {\\n margin-left: -30px;\\n margin-right: -30px; }\\n\"","import { Component, OnInit, ViewChild, EventEmitter, Output, ViewChildren, QueryList, HostListener, OnDestroy } from '@angular/core';\nimport { IssueElement, Issue } from '../../issues.model';\nimport { IssuesRest } from '../../issues.rest';\nimport { NgForm, NgModel } from '@angular/forms';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { Subscription } from 'rxjs';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { LoginRest } from '../../../login/login.rest';\nimport { SpinnerService } from '../../../core/services/spinner-handler/spinner-handler.service';\n\n@Component({\n selector: 'app-issue-element-modal',\n templateUrl: './issue-element-modal.component.html',\n styleUrls: ['./issue-element-modal.component.scss']\n})\nexport class IssueElementModalComponent implements OnInit, OnDestroy {\n\n public states: ObjectToSelect[];\n public employees: ObjectToSelect[];\n public elementCopy: IssueElement;\n private element: IssueElement;\n private isAdding: boolean;\n private createdDate: DateInputModel;\n private issue: Issue;\n private subscription: Subscription;\n private currentUser: any;\n private summerNoteHeight = 500;\n constructor(private route: ActivatedRoute, \n private rest: IssuesRest, \n private loginRest: LoginRest,\n private spinnerService: SpinnerService) { this.onResize(); }\n\n private elementDescriptionView: RichTextComponent = null;\n\n @Output() onSuccess: EventEmitter = new EventEmitter();\n @ViewChild(ModalComponent) public modal: ModalComponent;\n @ViewChild('elementForm') elementForm: NgForm;\n @ViewChild('employeeId') employee;\n @ViewChildren(RichTextComponent) elementDescriptionViews: QueryList;\n\n @HostListener('document:keyup', ['$event'])\n handleKeyboardEvent2(event: KeyboardEvent) {\n if (this.element && !this.element.employeeId && document.activeElement.className.includes('modal')) {\n this.employee.valueAccessor.optionsOpen(event.key);\n }\n }\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.modal.modalRoot.isShown === true) {\n this.save();\n event.preventDefault();\n }\n }\n\n ngOnInit() {\n this.modal.title = 'Element zgłoszenia';\n this.getStates();\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = user;\n });\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 767){\n this.summerNoteHeight = 250;\n } else {\n this.summerNoteHeight = 500;\n }\n }\n\n public getStates() {\n const action = this.rest.getStates;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n }\n });\n }\n\n public getCustomerEmployees(customerId: number) {\n const action = this.rest.getCustomerEmployees;\n action.call(this.rest, customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n\n public closeModal() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.spinnerService.hide();\n this.modal.close();\n }\n\n public setModel(element: IssueElement, isAdding: boolean, assigneeName: string, issue: Issue) {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n this.isAdding = isAdding;\n this.issue = issue;\n if (isAdding) {\n element.objectStateId = this.states[0].id;\n element.assignedTo = assigneeName;\n element.issueId = this.issue.id;\n element.createdBy = this.currentUser.email;\n element.createdDate = new Date();\n if (!element.employeeId) {\n element.employeeId = this.currentUser.employeeId;\n }\n }\n this.elementCopy = element;\n this.element = this.elementCopy;\n this.modal.openWithCustomSize({'maxwidth': '1500px'});\n this.initializeDate();\n this.getDescription();\n this.getCustomerEmployees(this.issue.customerId);\n }\n\n private save() {\n this.spinnerService.show();\n if (this.element.isNew === true) {\n this.saveDescription();\n this.element.employeeFullName = this.employees.find(x => x.id === this.element.employeeId).name.split(' (')[0];\n this.element.stateTranslation = this.states.find(x => x.id === this.element.objectStateId).name;\n const emmitData = {isSuccess: true, element: this.element, isNew: this.isAdding};\n if (this.issue.id.toString() !== '0') {\n if (!this.element.id) {\n this.element.id = 0;\n } else {\n this.element.isNew = false;\n }\n this.rest.saveElement(this.element, this.element.isNew).subscribe((element: IssueElement) => {\n this.element.id = element.id;\n this.element.isNew = true;\n this.closeModal();\n this.onSuccess.emit(emmitData);\n });\n } else {\n this.element.id = (this.issue.issueElements.length !== 0 ? (-1) * Math.min.apply(Math, this.issue.issueElements.map(function (o) { return o.id; })) : 0);\n this.closeModal();\n this.onSuccess.emit(emmitData);\n }\n } else {\n this.closeModal();\n }\n }\n\n private initializeDate() {\n this.createdDate = new DateInputModel();\n this.createdDate.isReadOnly = true;\n this.createdDate.isRequired = false;\n this.createdDate.name = 'Data';\n this.createdDate.value = new Date(this.element.createdDate);\n this.createdDate.valueStr = this.createdDate.value.toDateString();\n this.createdDate.withTime = false;\n this.createdDate.dateFormat = 'dd.MM.yyyy HH:mm';\n }\n\n private getDescription() {\n if (this.elementDescriptionView) {\n if (this.element.isNew === false) {\n this.elementDescriptionView.disableContol();\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n } else {\n this.elementDescriptionView.enableContol();\n if (this.isAdding) {\n this.elementDescriptionView.setHtml('');\n } else {\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n }\n }\n } else {\n this.subscription = this.elementDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (this.elementDescriptionView === null) {\n this.elementDescriptionView = nv.first;\n }\n\n if (this.elementDescriptionView && this.isAdding) {\n this.elementDescriptionView.setHtml('');\n this.element.htmlDescripiton = '';\n } else {\n this.elementDescriptionView.setHtml(this.element.htmlDescripiton);\n }\n\n if (this.element.isNew === false) {\n this.elementDescriptionView.disableContol();\n } else {\n this.elementDescriptionView.enableContol();\n }\n });\n }\n }\n\n private saveDescription() {\n const description = this.elementDescriptionView.getHtml();\n if (this.elementDescriptionView.isEmpty(description)) {\n this.element.htmlDescripiton = '';\n } else {\n this.element.htmlDescripiton = description;\n }\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n private stateChanges(event: any) {\n if (!this.element.isNew || (this.element.stateTranslation && this.element.stateTranslation.localeCompare(event[0].text) === 0)) {\n return;\n }\n\n if (event[0].text.localeCompare('Oczekiwanie na odpowiedź') === 0) {\n this.element.isInternal = false;\n this.element.employeeId = this.issue.reporterId;\n } else if (event[0].text.localeCompare('Odpowiedź') === 0) {\n this.element.employeeId = this.issue.assigneeId;\n } else if (event[0].text.localeCompare('Do realizacji') === 0 || event[0].text.localeCompare('Zakończony') === 0) {\n this.element.employeeId = this.currentUser.employeeId;\n }\n }\n}\n","module.exports = \"
        \\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\"","module.exports = \"\"","import { Component, OnInit, ViewChild, ViewChildren, QueryList} from '@angular/core';\nimport { IssueElement, Issue } from '../../issues.model';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Permissions } from '../../../core/services/permissions/permissions.model';\nimport { IssueElementModalComponent } from '../issue-element-modal/issue-element-modal.component';\nimport { IssuesRest } from '../../issues.rest';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { ShellRestService } from '../../../shell/shell.rest';\n@Component({\n selector: 'app-issue-elements',\n templateUrl: './issue-elements.component.html',\n styleUrls: ['./issue-elements.component.scss']\n})\nexport class IssueElementsComponent implements OnInit {\n\n private get selectionModes() { return SelectionMode; }\n public elements: IssueElement[];\n public assigneeName: string;\n private issue: Issue;\n private isNew: boolean;\n private selectedElementId: number;\n private elementsDescriptions: string;\n private showPreviousDescriptions: boolean;\n\n @ViewChild(GridComponent) grid: GridComponent;\n @ViewChild(IssueElementModalComponent) elementModal: IssueElementModalComponent;\n @ViewChildren(RichTextComponent) rowDescriptionViews: QueryList;\n private rowDescriptionView: RichTextComponent = null;\n\n private headers = [\n { displayName: 'Data', propertyName: 'createdDate', propertyType: 'date', isInitSort: true, dateFormat: 'dd.MM.yyyy HH:mm' },\n { displayName: 'Status', propertyName: 'stateTranslation', propertyType: 'string' },\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Autor', propertyName: 'createdBy', propertyType: 'string' },\n { displayName: 'Wewn.', propertyName: 'isInternal', propertyType: 'bool' }\n ];\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n constructor(private rest: IssuesRest, private permissionsService: PermissionsService, private shellService: ShellRestService) { }\n\n ngOnInit() {\n this.shellService.GetLayoutSettings().subscribe(settings => {\n this.showPreviousDescriptions = settings.showPreviousDescriptions;\n if (this.showPreviousDescriptions && this.rowDescriptionView) {\n this.getDescription(this.elementsDescriptions);\n }\n });\n }\n\n public setModel(issue: Issue, assigneeName: string, isNew: boolean) {\n this.setPermissions('IssueElement');\n this.elements = issue.issueElements;\n this.issue = issue;\n this.assigneeName = assigneeName.split(' (')[0];\n this.isNew = isNew;\n this.concatDescriptions();\n }\n\n private getActionButtons() {\n return [];\n }\n\n private addElement() {\n if (!this.issue.customerId) {\n sweetAlert(`Nie wybrano kontrahenta.`);\n return;\n }\n if (!this.issue.assigneeId) {\n sweetAlert(`Nie wybrano osoby odpowiedzialnej.`);\n return;\n }\n this.elementModal.setModel(new IssueElement(), true, this.assigneeName, this.issue);\n }\n\n private editElement(row: IssueElement) {\n if (!this.issue.customerId) {\n sweetAlert(`Nie wybrano kontrahenta.`);\n return;\n }\n this.elementModal.setModel(row, false, null, this.issue);\n }\n\n private removeElement(row: IssueElement) {\n\n if (this.isNew === false && this.elements.length === 1) {\n sweetAlert(`Zgłoszenie musi posiadać elementy.`);\n return;\n }\n\n sweetAlert('Czy na pewno chcesz usunąć element?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n }).then((value) => {\n switch (value) {\n case 'yes':\n if (row.id != 0 && row.id != undefined) {\n const action = this.rest.removeElement;\n action.call(this.rest, row).subscribe();\n }\n this.elements.splice(this.elements.indexOf(row), 1);\n this.grid.refreshData();\n this.setIssueValuesForLastElement();\n this.concatDescriptions();\n break;\n }});\n }\n\n public getDescription(row: any) {\n if (this.rowDescriptionView) {\n if (this.showPreviousDescriptions) {\n this.rowDescriptionView.setHtml(this.elementsDescriptions);\n } else {\n if (typeof(row) === 'string') {\n this.rowDescriptionView.setHtml(row);\n } else {\n this.rowDescriptionView.setHtml(row.htmlDescripiton);\n }\n }\n this.rowDescriptionView.disableContol();\n }\n this.rowDescriptionViews.changes.subscribe((nv: QueryList) => {\n this.rowDescriptionView = nv.first;\n if (this.showPreviousDescriptions) {\n this.rowDescriptionView.setHtml(this.elementsDescriptions);\n } else {\n if (typeof(row) === 'string') {\n this.rowDescriptionView.setHtml(row);\n } else {\n this.rowDescriptionView.setHtml(row.htmlDescripiton);\n }\n }\n this.rowDescriptionView.disableContol();\n });\n }\n\n public onSuccessOperation(value) {\n if (value.isSuccess) {\n if (!value.isNew) {\n const index = this.elements.indexOf(value.element);\n this.elements[index] = value.element;\n } else {\n if (!this.grid.isAsc && this.grid.sortedColumn === 'createdDate') {\n this.elements.unshift(value.element);\n } else {\n this.elements.push(value.element);\n }\n }\n const date = new Date(value.element.createdDate);\n this.elementsDescriptions = ` ${date.toLocaleString()} ${value.element.createdBy}

        `\n + value.element.htmlDescripiton + '

        ' + this.elementsDescriptions;\n this.grid.refreshData();\n let element = this.elements.indexOf(value.element);\n this.grid.focusRow(value, element);\n this.grid.selectedItemId = value.element.id;\n this.issue.notAssignedIssue = false;\n this.setIssueValuesForLastElement();\n }\n }\n\n private previousDescriptionsChange() {\n if (this.showPreviousDescriptions) {\n this.concatDescriptions();\n } else {\n if (!this.grid.focusedRowId) {\n if (this.elements.length > 0) {\n this.selectedElementId = this.elements[0].id;\n this.grid.selectedItemId = this.selectedElementId;\n this.grid.focusedRowId = this.selectedElementId;\n this.grid.focusRow(this.elements[0], 0);\n } else {\n this.getDescription('');\n }\n } else {\n this.getDescription(this.elements.find(x => x.id === this.selectedElementId));\n }\n }\n }\n\n private concatDescriptions(){\n this.elementsDescriptions = '';\n let previousElements = new Array();\n if (this.grid && this.grid.focusedRowId) {\n for (const element of this.elements) {\n if (this.issue.issueElements[this.grid.focusedRowId]) {\n if (new Date(element.createdDate).getTime() <= new Date(this.issue.issueElements[this.grid.focusedRowId].createdDate).getTime()) {\n previousElements.push(element);\n }\n }\n }\n } else {\n previousElements = this.elements;\n }\n previousElements.sort((a, b) => new Date(b.createdDate).getTime() - new Date(a.createdDate).getTime());\n for (const element of previousElements) {\n let date = new Date(element.createdDate.toLocaleString());\n if (date.toString() == 'Invalid Date') {\n date = new Date(element.createdDate);\n }\n if (element.htmlDescripiton && element.htmlDescripiton.trim() !== '') {\n this.elementsDescriptions += ` ${date.toLocaleString()} ${element.createdBy}

        `;\n this.elementsDescriptions += element.htmlDescripiton + '

        ';\n }\n }\n\n if (this.issue.htmlDescripiton && this.issue.htmlDescripiton.trim() !== '') {\n const issueStartDate = new Date(this.issue.startDate);\n this.elementsDescriptions += ` ${issueStartDate.toLocaleString()} OPIS ZGŁOSZENIA

        `;\n this.elementsDescriptions += this.issue.htmlDescripiton + '

        ';\n }\n\n if (this.showPreviousDescriptions) {\n this.getDescription(this.elementsDescriptions);\n } else {\n if (this.elements.length > 0 && this.grid) {\n this.selectedElementId = this.elements[0].id;\n this.grid.selectedItemId = this.selectedElementId;\n this.grid.focusedRowId = this.selectedElementId;\n this.getDescription(this.elements.find(x => x.id === this.selectedElementId));\n } else {\n this.getDescription('');\n }\n }\n }\n\n private rowFocus(row: any) {\n if (this.showPreviousDescriptions) {\n this.concatDescriptions();\n } else {\n if (row.element) {\n this.getDescription(row.element);\n } else {\n this.getDescription(row);\n }\n }\n }\n\n private setIssueValuesForLastElement() {\n const lastElement = this.issue.issueElements.sort((a, b) => new Date(a.createdDate).getTime() - new Date(b.createdDate).getTime())[this.issue.issueElements.length-1];\n if (lastElement) {\n this.issue.objectStateId = lastElement.objectStateId;\n this.issue.elementAssignee = lastElement.employeeFullName;\n }\n }\n}\n","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        0\\\" class=\\\"col-sm-6 col-12\\\"> \\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 Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Wartośc musi być pomiędzy {{priority.min}} a {{priority.max}}. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Wartość musi być pomiędzy {{planningWorkTime.min}} a {{planningWorkTime.max}}. \\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 Uzupełnij wartość. \\n Wciśnij 'enter'. \\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 {{option.data.name}} [{{option.data.guid}}]\\n \\n \\n \\n \\n Uzupełnij wartość. \\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 {{option.data.name}} ({{option.data.guid}})\\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n \\n \\n Uzupełnij wartość. \\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 Obserwatorzy\\n \\n \\n \\n \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \"","module.exports = \"\"","import { Component, OnInit, ViewChildren, QueryList, ViewChild, HostListener, OnDestroy } from '@angular/core';\nimport { Issue, IssueWatcher, IssueElement } from '../../issues.model';\nimport { IssuesRest } from '../../issues.rest';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { CustomersListComponent } from '../../../company/customers/customers-list/customers-list.component';\nimport { IssuesListComponent } from '../../issues-list/issues-list.component';\nimport { EmployeesListComponent } from '../../../company/employees/employee-list/employees-list.component';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { CustomerRow } from '../../../company/customers/customers.model';\nimport { SpinEditComponent } from '../../../core/shared/spinedit/spinedit.component';\nimport { ProjectWatcher } from '../../../projects/projects.model';\nimport { ProjectsRest } from '../../../projects/projects.rest';\nimport { CustomersRest } from '../../../company/customers/customers.rest';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { Subscription } from 'rxjs';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { LoginRest } from '../../../login/login.rest';\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../core/shared/dialog/dialog-config';\n@Component({\n selector: 'app-issue-header',\n templateUrl: './issue-header.component.html',\n styleUrls: ['./issue-header.component.scss']\n})\nexport class IssueHeaderComponent implements OnInit, OnDestroy, HasPermissions {\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private rest: IssuesRest,\n private projRest: ProjectsRest,\n private custRest: CustomersRest,\n public dialog: DialogService,\n private permissionService: PermissionsService,\n private loginRest: LoginRest) {\n this.onResize();\n }\n\n public issueTypes: ObjectToSelect[];\n public employees: ObjectToSelect[];\n public departments: ObjectToSelect[];\n public systemVersions: ObjectToSelect[];\n public states: ObjectToSelect[];\n public functionalities: ObjectToSelect[];\n public projectSteps: ObjectToSelect[];\n public issue: Issue;\n public isNew: boolean;\n public startDate: DateInputModel;\n public isEditable: boolean;\n public mentionsEnabled: boolean = false;\n private descriptionView: RichTextComponent = null;\n private summerNoteHeight = 680;\n private subscription: Subscription;\n private oldProject: string;\n private oldCustomer: string;\n private currentUser: ObjectToSelect;\n private reporterAndAssigneeReadOnly = false;\n private notAssignedIssue: boolean;\n\n @ViewChildren(RichTextComponent) headerDescriptionViews: QueryList;\n @ViewChild(GridComponent) watchersGrid: GridComponent;\n @ViewChild('issueForm') issueForm: NgForm;\n @ViewChild('priority') isPublic: SpinEditComponent;\n @ViewChild('planningWorkTime') planningWorkTime: SpinEditComponent;\n private watchersHeaders = [\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n ];\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.getIssueTypes();\n this.getDepartments();\n this.getStates();\n this.getFunctionalities();\n this.employees = new Array();\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public setModel(issue: Issue, isNew: boolean) {\n this.setPermissions('Issue');\n this.issue = issue;\n this.isNew = isNew;\n this.isEditable = isNew ? this.permissions.canAdd : this.permissions.canEdit;\n\n if (isNew) {\n this.getCurrentUser(true);\n }\n\n if (this.issue.customerId) {\n this.getSystemVersions(this.issue.customerId);\n this.getCustomerProjectSteps(this.issue.customerId);\n this.getCustomerEmployees(this.issue.customerId);\n this.reporterAndAssigneeReadOnly = false;\n }\n\n if (isNew) {\n if (!this.issue.issueType && this.issueTypes) {\n this.issue.issueType = this.issueTypes[0].name;\n }\n if (!this.issue.departmentId && this.departments) {\n this.issue.departmentId = this.departments[0].id;\n }\n if (!this.issue.systemVersionId) {\n this.issue.systemVersionId = null;\n }\n this.mentionsEnabled = true;\n }\n\n this.initializeDate();\n this.getDescription();\n\n if ((this.issue.elementAssignee == null || this.issue.assigneeId == null) && !this.isNew) {\n this.notAssignedIssue = true;\n this.issue.notAssignedIssue = true;\n }\n }\n\n public getIssueTypes() {\n const action = this.rest.getIssueTypes;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.issueTypes = result;\n if(this.isNew && !this.issue.issueType){\n this.issue.issueType = this.issueTypes[0].name;\n }\n }\n });\n }\n\n public getDepartments() {\n const action = this.rest.getDepartments;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.departments = result;\n if(this.isNew && !this.issue.departmentId){\n this.issue.departmentId = this.departments[0].id;\n }\n }\n });\n }\n\n public getStates() {\n const action = this.rest.getStates;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n }\n });\n }\n\n public getSystemVersions(customerId: number) {\n const action = this.rest.getSystemVersions;\n action.call(this.rest, customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.systemVersions = result;\n }\n });\n }\n\n public getFunctionalities() {\n const action = this.rest.getFunctionalities;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.functionalities = result;\n }\n });\n }\n\n private initializeDate() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = true;\n this.startDate.isRequired = false;\n this.startDate.name = 'Data zgłoszenia';\n this.startDate.value = new Date(this.issue.startDate);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.withTime = true;\n this.startDate.dateFormat = 'dd.MM.yyyy HH:mm';\n }\n\n onKeyDownCustomer() {\n this.oldCustomer = this.issue.customerCode;\n }\n\n public onKeyCustomer(event: any) {\n if (this.oldCustomer !== this.issue.customerCode) {\n this.issue.customerId = null;\n this.clearCustomerInfo();\n } \n\n if (event.key === 'Enter' || (event.key === undefined && event.returnValue === true)) {\n this.searchCustomer();\n }\n }\n\n private searchCustomer() {\n if (this.issue.customerCode === '') {\n this.issue.customerCode = null;\n }\n this.custRest.getCustomerRowsByName(this.issue.customerCode).subscribe((result: CustomerRow[]) => {\n if (result.length === 1) {\n const customer = result[0];\n this.issue.customerId = customer.id;\n this.issue.customerCode = customer.code;\n this.clearCustomerInfo();\n } else {\n this.openModalCustomer();\n }\n });\n }\n\n\n public openModalCustomer() {\n this.saveDescription();\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz kontrahenta';\n dialogconf.selectionMode = SelectionMode.single;\n dialogconf.maxwidth = '1050px';\n dialogconf.data = { selectList: true };\n if (this.issue.customerCode != null) {\n dialogconf.data.initialFilters = { code: this.issue.customerCode };\n }\n\n const ref = this.dialog.open(CustomersListComponent, dialogconf);\n ref.afterClosed.subscribe(result => {\n if (result != null) {\n if (this.issue.customerId !== result.id) {\n this.issue.customerId = result.id;\n this.issue.customerCode = result.code;\n this.clearCustomerInfo();\n }\n }\n });\n }\n\n public openModalUserStory() {\n this.saveDescription();\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz User Story';\n dialogconf.selectionMode = SelectionMode.single;\n dialogconf.maxwidth = '1000px';\n dialogconf.data = { customerId: this.issue.customerId, tfsOnly: 1, initialFilters: { issueType: 'User Story' } };\n\n const ref = this.dialog.open(IssuesListComponent, dialogconf);\n ref.afterClosed.subscribe(result => {\n if (result != null) {\n this.issue.userStoryId = result.id;\n this.issue.userStoryName = result.fullTitle;\n this.issue.customerId = result.customerId;\n this.issue.customerCode = result.customerCode;\n this.issue.projectName = result.projectNumberString;\n this.issue.projectStepId = result.projectStepId;\n this.issue.projectStepName = result.projectStepName;\n }\n });\n }\n\n public saveDescription() {\n if (this.descriptionView == null) {\n return;\n }\n\n if (this.issue && typeof (this.descriptionView.getHtml()) === \"string\" && this.descriptionView.getHtml() !== '') {\n this.issue.htmlDescripiton = this.descriptionView.getHtml();\n }\n }\n\n\n public getDescription() {\n if (!this.headerDescriptionViews) {\n return;\n }\n this.subscription = this.headerDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (this.descriptionView === null) {\n this.descriptionView = nv.first;\n }\n\n if (this.descriptionView && this.isNew && !this.issue.htmlDescripiton && this.issue.htmlDescripiton !== '') {\n this.descriptionView.setHtml('');\n this.issue.htmlDescripiton = '';\n } else if (!this.isNew) {\n this.descriptionView.setHtml(this.issue.htmlDescripiton);\n }\n\n if (!this.isEditable) {\n this.descriptionView.disableContol();\n }\n });\n if (!this.descriptionView) {\n if (this.headerDescriptionViews.first) {\n this.descriptionView = this.headerDescriptionViews.first;\n this.descriptionView.setHtml(this.issue.htmlDescripiton);\n }\n }\n }\n\n public addWatcher() {\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz Obserwatorów';\n dialogconf.selectionMode = SelectionMode.multi;\n dialogconf.maxwidth = '1000px';\n\n const ref = this.dialog.open(EmployeesListComponent, dialogconf);\n ref.afterClosed.subscribe(result => {\n if (result != null) {\n result.forEach(element => {\n const watcher = new IssueWatcher;\n watcher.issueId = this.issue.id;\n watcher.employeeFullName = element.fullName;\n watcher.employeeId = element.id;\n this.issue.issueWatchers.push(watcher);\n });\n this.watchersGrid.refreshData();\n }\n });\n }\n\n private removeWatcher(row: IssueWatcher) {\n if (row.id != null) {\n const action = this.rest.removeWatcher;\n action.call(this.rest, row.id).subscribe();\n }\n this.issue.issueWatchers.splice(this.issue.issueWatchers.indexOf(row), 1);\n this.watchersGrid.refreshData();\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 767) {\n this.summerNoteHeight = 280;\n } else {\n this.summerNoteHeight = 680;\n }\n }\n\n public isInvalid() {\n return this.issueForm.invalid;\n }\n\n private clearCustomerInfo() {\n this.issue.projectName = '';\n this.issue.projectStepId = null;\n this.issue.projectStepName = '';\n this.issue.userStoryId = null;\n this.issue.userStoryName = '';\n this.issue.systemVersionId = null;\n if (this.issue.customerId) {\n this.getSystemVersions(this.issue.customerId);\n this.getCustomerProjectSteps(this.issue.customerId);\n this.getCustomerEmployees(this.issue.customerId);\n this.reporterAndAssigneeReadOnly = false;\n } else {\n this.systemVersions = null;\n this.projectSteps = null;\n this.getCurrentUser(true);\n }\n }\n\n private tfsChanged() {\n if (this.issue.userStoryId != null)\n return;\n\n\n\n if (this.issue.isToTfs) {\n this.issue.issueType = this.issueTypes.find(x => x.name === 'User Story').name;\n } else {\n this.issue.issueType = this.issueTypes.find(x => x.name === 'Zgłoszenie').name;\n }\n }\n\n private getCustomerProjectSteps(customerId: number) {\n const action = this.projRest.getCustomerProjectStepsForIssue;\n action.call(this.rest, customerId, this.issue.id).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.projectSteps = result;\n }\n });\n }\n\n private setProjectStepName(event) {\n if (event[0]) {\n this.issue.projectStepName = event[0].data.name;\n }\n }\n\n private projectChanged() {\n this.issue.issueWatchers = this.issue.issueWatchers.filter((element) => {\n return element.isFromProject !== true;\n });\n this.watchersGrid.refreshData();\n if (this.issue.projectStepId == null) {\n return;\n }\n const action = this.projRest.getProjectWatchersByProjectStepId;\n action.call(this.projRest, this.issue.projectStepId).subscribe((result: ProjectWatcher[]) => {\n if (result) {\n result.forEach(element => {\n if (this.issue.issueWatchers.filter(x => x.employeeId === element.employeeId).length === 0) {\n const watcher = Object.assign(new IssueWatcher(), {\n employeeId: element.employeeId,\n employeeFullName: element.projectWatcherName,\n isFromProject: true\n });\n this.issue.issueWatchers.push(watcher);\n this.watchersGrid.refreshData();\n }\n });\n }\n });\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n if (item.data) {\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n } else {\n return false;\n }\n }\n\n private getCustomerEmployees(customerId: number) {\n const action = this.rest.getCustomerEmployees;\n action.call(this.rest, customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n\n private getCurrentUser(withSetAssigneeAndReporter = false) {\n if (!this.currentUser) {\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = new ObjectToSelect();\n this.currentUser.id = user.employeeId;\n this.currentUser.name = user.name;\n this.currentUser.guid = user.email;\n if (withSetAssigneeAndReporter) {\n this.setCurrentUserAsAssigneeAndReporter();\n }\n });\n } else {\n if (withSetAssigneeAndReporter) {\n this.setCurrentUserAsAssigneeAndReporter();\n }\n }\n }\n\n private setCurrentUserAsAssigneeAndReporter() {\n this.issue.reporterId = this.currentUser.id;\n this.issue.assigneeId = this.currentUser.id;\n if (this.employees.filter(x => x.id === this.currentUser.id).length === 0) {\n this.employees.push(this.currentUser);\n }\n\n }\n\n private assigneeChanges(event: any) {\n if ((this.notAssignedIssue && this.states)\n || (this.issue.issueElements && this.issue.issueElements.filter(x => x.autoForNotAssigned).length === 1)) {\n\n if (this.issue.issueElements != undefined) {\n const index = this.issue.issueElements.indexOf(this.issue.issueElements.find(x => x.autoForNotAssigned === true));\n if (index > -1) {\n this.issue.issueElements.splice(index, 1);\n }\n }\n const element = new IssueElement();\n element.createdDate = new Date();\n element.employeeId = event[0].value;\n element.objectStateId = this.states.find(x => x.name === 'Do realizacji').id;\n element.stateTranslation = 'Do realizacji';\n element.employeeFullName = event[0].text;\n if (!this.currentUser) {\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n element.createdBy = user.email;\n });\n } else {\n element.createdBy = this.currentUser.guid;\n }\n element.isInternal = true;\n element.htmlDescripiton = '';\n element.assignedTo = event[0].text;\n element.autoForNotAssigned = true;\n element.issueId = this.issue.id;\n this.notAssignedIssue = false;\n if(!this.issue.issueElements) {\n this.issue.issueElements = new Array();\n }\n this.issue.issueElements.push(element);\n }\n }\n}\n","module.exports = \"
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { IssueRow, IssueRelation, Issue } from '../../issues.model';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { IssuesRest } from '../../issues.rest';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { IssuesListComponent } from '../../issues-list/issues-list.component';\nimport { IssueService } from '../../issue.service';\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../core/shared/dialog/dialog-config';\n\n@Component({\n selector: 'app-issue-relations',\n templateUrl: './issue-relations.component.html',\n styleUrls: ['./issue-relations.component.scss']\n})\nexport class IssueRelationsComponent implements OnInit {\n\n public relations: IssueRelation[];\n public isEditable: boolean;\n private issueId: number;\n private issueIsNew: boolean;\n\n\n @ViewChild(GridComponent) grid: GridComponent;\n\n private headers = [\n { displayName: 'Identyfikatior', propertyName: 'childId', propertyType: 'number' },\n { displayName: 'Tytuł', propertyName: 'childTitle', propertyType: 'string' },\n { displayName: 'Data rozpoczęcia', propertyName: 'childStartDate', propertyType: 'date' },\n { displayName: 'Data końcowa', propertyName: 'childEndDate', propertyType: 'date' },\n { displayName: 'Budżet', propertyName: 'childBudget', propertyType: 'number' },\n { displayName: 'Ilość godzin w budżecie', propertyName: 'childTimeBudget', propertyType: 'number' },\n { displayName: 'Ilość przepracowanych godzin', propertyName: 'childWorklogsTimeSpent', propertyType: 'number' },\n { displayName: 'Opis', propertyName: 'childDescription', propertyType: 'string' }\n ];\n\n constructor(\n private rest: IssuesRest, \n public dialog: DialogService, \n private issueService: IssueService) { }\n\n ngOnInit() {\n }\n\n public setModel(relations: IssueRelation[], isEditable: boolean, issueId: number, issueIsNew: boolean) {\n this.relations = relations;\n this.isEditable = isEditable;\n this.issueId = issueId;\n this.issueIsNew = issueIsNew;\n }\n\n private addRelation() {\n const dialogconf = new DialogConfig();\n dialogconf.title = 'Wybierz zgłoszenia';\n dialogconf.selectionMode = SelectionMode.multi;\n dialogconf.maxwidth = '1000px';\n\n const ref = this.dialog.open(IssuesListComponent, dialogconf);\n ref.afterClosed.subscribe((result: IssueRow[]) => {\n\n if (result != null) {\n result.forEach(row => {\n if (this.issueId !== row.id && this.notExistInList(row.id)) {\n const element = new IssueRelation();\n element.parentId = this.issueId;\n element.childId = row.id;\n if (this.issueIsNew) {\n this.mapElement(element);\n } else {\n this.saveIssueRelation(element);\n }\n }\n });\n }\n });\n }\n\n saveIssueRelation(relation: IssueRelation) {\n this.rest.saveIssueRelation(relation).subscribe((rel: IssueRelation) =>\n {\n this.relations.push(rel);\n this.grid.refreshData();\n });\n }\n\n private removeRelation(row: IssueRelation) {\n if (row.id != null && row.id !== 0) {\n const action = this.rest.removeRelation;\n action.call(this.rest, row).subscribe();\n }\n this.relations.splice(this.relations.indexOf(row), 1);\n this.grid.refreshData();\n }\n\n\n get elements() {\n return this.relations.length > 12;\n }\n\n notExistInList(rowId: number): boolean {\n\n const exist = this.relations.find( x => x.childId === rowId);\n if (exist) {\n return false;\n }\n return true;\n }\n\n private mapElement(rel: IssueRelation) {\n this.rest.getIssue(rel.childId, true).subscribe((res: Issue) => {\n if (res != null) {\n const relation = new IssueRelation();\n relation.parentId = this.issueId;\n relation.childId = res.id;\n relation.childTitle = res.title;\n relation.childStartDate = res.startDate;\n relation.childEndDate = res.endDate;\n relation.childBudget = res.budget;\n relation.childTimeBudget = res.timeBudget;\n relation.childWorklogsTimeSpent = res.worklogs.reduce((sum, current) => sum + current.timeSpent, 0);\n relation.childDescription = res.description;\n this.relations.push(relation);\n this.grid.refreshData();\n }\n });\n }\n}\n","module.exports = \"
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Worklog } from '../../../worklogs/worklogs.model';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { GoupedColumn, GroupFunction } from '../../../core/shared/grid/grid.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { IssueService } from '../../issue.service';\nimport { Issue } from '../../issues.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\n\n@Component({\n selector: 'app-issue-worklogs',\n templateUrl: './issue-worklogs.component.html',\n styleUrls: ['./issue-worklogs.component.scss']\n})\nexport class IssueWorklogsComponent implements OnInit, HasPermissions {\n\n public worklogs: Worklog[];\n private issue: Issue;\n private worklogEdit: boolean;\n private worklogAdding: boolean;\n @ViewChild(GridComponent) grid: GridComponent;\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n private headers = [\n { displayName: 'Numer', propertyName: 'numberString', propertyType: 'string' },\n { displayName: 'Data Pracy', propertyName: 'workDate', propertyType: 'date', isInitSort: true },\n { displayName: 'Czas pracy', propertyName: 'timeSpent', propertyType: 'number' },\n { displayName: 'Czas fakturowany', propertyName: 'invoiceTime', propertyType: 'number' },\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\n { displayName: 'Opis', propertyName: 'description', propertyType: 'string' }\n ];\n\n private columnsToGroup: GoupedColumn[] = [\n { name: 'timeSpent', func: GroupFunction.sum },\n { name: 'invoiceTime', func: GroupFunction.sum }\n ];\n\n ngOnInit() {\n }\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private issueService: IssueService,\n private permissionService: PermissionsService) { }\n\n public setModel(worklogs: Worklog[], issue: Issue, isEditable: boolean) {\n this.setPermissions('Worklog');\n this.worklogEdit = this.permissions.canShow || this.permissions.canEdit || this.permissions.canAdd ? true : false;\n this.worklogAdding = this.permissions.canAdd && isEditable ? true : false;\n this.issue = issue;\n this.worklogs = worklogs;\n }\n\n get elements() {\n return this.worklogs.length > 12;\n }\n\n private onRowAdd(value: any) {\n if (this.issue.customerId === 0 || this.issue.projectStepId === 0 || this.issue.title === null) {\n swal('Uzupełnij wymagane dane na nagłówku zgłoszenia');\n return;\n }\n\n this.issueService.passIssue(this.issue);\n this.issueService.setTab(5);\n this.router.navigate(['worklogdetails', 'new'], { queryParams: { new: true }, relativeTo: this.route });\n }\n\n private onRowEdit(row: Worklog) {\n this.issueService.passIssue(this.issue);\n this.issueService.setTab(5);\n this.router.navigate([\"worklogdetails\", row.numberString], { queryParams: { id: row.id }, relativeTo: this.route });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Issue } from './issues.model';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IssueService {\n\n private issueSource = new BehaviorSubject(null);\n private tabSource = new BehaviorSubject(null);\n currentIssue = this.issueSource.asObservable();\n currentTab = this.tabSource.asObservable();\n\n constructor() { }\n public passIssue(issue: Issue) {\n this.issueSource.next(issue);\n }\n\n public setTab(tabIndex: number) {\n this.tabSource.next(tabIndex);\n }\n\n public complete() {\n this.passIssue(null);\n this.setTab(null);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { IssuesListComponent } from \"./issues-list.component\";\nimport { IssuesRest } from \"../issues.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { IssuesChangeStateComponent } from \"./issues-change-state/issues-change-state.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule\n ],\n declarations: [IssuesListComponent, IssuesChangeStateComponent],\n entryComponents: [ IssuesChangeStateComponent],\n exports: [IssuesChangeStateComponent, IssuesListComponent],\n providers : [IssuesListComponent, IssuesChangeStateComponent, IssuesRest, LoginRest]\n })\n export class IssueListModule { }","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n \\n \\n \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n \\n
        \\n
        \\n \\n
        \\n
        \"","module.exports = \".overlay {\\n display: flex;\\n flex-direction: column;\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n background: rgba(0, 0, 0, 0.7);\\n align-items: center;\\n justify-content: center;\\n z-index: 300; }\\n\\n.dialog {\\n width: auto;\\n height: -webkit-min-content;\\n height: -moz-min-content;\\n height: min-content;\\n margin: 50px;\\n overflow: auto;\\n box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\\n background-color: white; }\\n\\n.element-modal-body-content {\\n margin-left: 20px;\\n margin-right: 20px; }\\n\\n.element-modal-form-row {\\n margin-left: -15px;\\n margin-right: -15px; }\\n\"","import { Component, OnInit, AfterViewInit, EventEmitter, QueryList, ViewChildren, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { IssuesRest } from '../../issues.rest';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { RichTextComponent } from '../../../core/shared/richtext/richtext.component';\nimport { DialogControl } from '../../../core/shared/dialog/dialog.model';\nimport { INgxSelectOption } from 'ngx-select-ex';\n\n@Component({\n selector: 'app-issues-change-state',\n templateUrl: './issues-change-state.component.html',\n styleUrls: ['./issues-change-state.component.scss']\n})\nexport class IssuesChangeStateComponent implements AfterViewInit, OnInit, DialogControl {\n dialogConfigData: any;\n onDialogClose: EventEmitter = new EventEmitter();\n isConfirmButtonDisabled: boolean = false;\n\n public states: ObjectToSelect[];\n public employees: ObjectToSelect[];\n private selectedIds: any;\n public stateId: any;\n public employeeId: any;\n public isSendEmail: any;\n private descriptionView: RichTextComponent = null;\n @ViewChildren(RichTextComponent) descriptionViews: QueryList;\n @ViewChild('changeStateForm') changeStateForm: NgForm;\n\n constructor(private rest: IssuesRest) {\n this.descriptionViews = new QueryList();\n this.isSendEmail = true;\n } \n\n ngAfterViewInit() {\n this.selectedIds = this.dialogConfigData.selectedItems;\n this.getDescription();\n this.descriptionViews.notifyOnChanges();\n this.changeStateForm.statusChanges.subscribe(() => {\n this.isConfirmButtonDisabled = this.changeStateForm.invalid;\n }); \n }\n\n ngOnInit() {\n this.getStates();\n this.getCustomerEmployees(0);\n }\n\n \n public closeDialog() {\n // this.descriptionViews.destroy();\n this.onDialogClose.emit();\n } \n\n public confirmDialog(){\n this.changeState();\n };\n\n public getStates() {\n const action = this.rest.getStates;\n action.call(this.rest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n }\n });\n }\n\n private getDescription() { \n this.descriptionViews.changes.subscribe((nv: QueryList) => {\n this.descriptionView = nv.first; \n this.descriptionView.setHtml(\"\"); \n });\n }\n\n public getCustomerEmployees(customerId: number) {\n const action = this.rest.getCustomerEmployees;\n action.call(this.rest, customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.employees = result;\n }\n });\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n changeState()\n {\n if (this.stateId == undefined)\n {\n sweetAlert(\"Nie określono statusu.\");\n return;\n }\n\n const changeStateEntity = {\n ids: this.selectedIds,\n objectStateId: this.stateId,\n employeeId: this.employeeId,\n isSendEmail: this.isSendEmail,\n description: this.descriptionView.getHtml()\n };\n\n this.rest.changeStates(changeStateEntity).subscribe((result: boolean) => {\n if (result) {\n \n }\n this.closeDialog();\n });\n \n }\n}","module.exports = \"
        \\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 {{option.data.name}} ({{option.data.guid}})\\n \\n \\n
        \\n
        \\n \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n
        \\n
        \\n \\n \\n \\n \\n \\n \\n {{option.data.name}}\\n \\n \\n
        \\n
        \\n \\n \\n \\n \\n \\n \\n {{option.data.name}}\\n \\n \\n
        \\n
        \\n \\n \\n \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n {{ successMessage }}\\n \\n
        \\n\\n \\n \\n
        \\n
        \\n
        \\n
        \"","module.exports = \".form-check {\\n width: 15px; }\\n\"","import { Component, OnInit, ViewChild, HostListener, ElementRef, EventEmitter, Input, AfterContentInit } from '@angular/core';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { LoginRest } from '../../login/login.rest';\nimport { IssuesRest } from '../issues.rest';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\nimport { GridMainFilter, SelectionMode, GridSelection, SortedColumn } from '../../core/shared/grid/grid.model';\nimport { Issue, IssueRow } from '../issues.model';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { IssuesChangeStateComponent } from './issues-change-state/issues-change-state.component';\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { IssueService } from '../issue.service';\nimport { INgxSelectOption } from 'ngx-select-ex';\nimport { DialogControl } from '../../core/shared/dialog/dialog.model';\nimport { DialogService } from '../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../core/shared/dialog/dialog-config';\n\nconst issueWatcherName = 'IssueWatcher';\n\n@Component({\n selector: 'app-issues-list',\n templateUrl: './issues-list.component.html',\n styleUrls: ['./issues-list.component.scss']\n})\nexport class IssuesListComponent extends GridSelection implements OnInit, DialogControl, GridParamsRestorable {\n readonly detailsPath: string = '/issues/issue';\n\n public permissions: Permissions;\n\n public dialogConfigData: any;\n public onDialogClose: EventEmitter = new EventEmitter();\n public confirmDialog() { };\n public closeDialog() { };\n isConfirmButtonDisabled: boolean;\n\n @Input() initialFilters: any;\n @Input() lockInitialFilters = false;\n @Input() customerId: number;\n @Input() tfsOnly: number;\n @ViewChild(GridComponent) grid: GridComponent;\n private path: string;\n private isEditable: boolean;\n private isRemovable: boolean;\n private isAdd: boolean;\n public viewEnable = true;\n public assignedToSelect: ObjectToSelect[];\n public watchersToSelect: ObjectToSelect[];\n public customersToSelect: ObjectToSelect[];\n public stateToSelect: ObjectToSelect[];\n public hideToggles: boolean;\n public expanded: boolean;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn;\n public previousMainFilters: any = {};\n public editedItemId: number;\n public projectStepId: number;\n private mainFilter: GridMainFilter[];\n private currentUser: any;\n private isClosed: boolean;\n private isNotAssigned: boolean;\n private assignedId: number;\n private assignedCode: string;\n private watcherCode: string;\n private customerIds: number[];\n private states: string[];\n private isRestoredMainFilter: boolean = false;\n private vstsOptions: ObjectToSelect[];\n private withRestoring = true;\n private isModal = false;\n\n private headers = [\n { displayName: 'Tytuł', propertyName: 'fullTitle', propertyType: 'string' },\n { displayName: 'Zmieniono', propertyName: 'updatedDate', propertyType: 'date', isInitSort: true, dateFormat: 'dd.MM.yyyy HH:mm' },\n { displayName: 'Zgłoszono', propertyName: 'createdDate', propertyType: 'date', dateFormat: 'dd.MM.yyyy HH:mm' },\n { displayName: 'Kontrahent', propertyName: 'customerCode', propertyType: 'string' },\n { displayName: 'Etap', propertyName: 'projectFullName', propertyType: 'string' },\n { displayName: 'Zgłaszający', propertyName: 'reporterName', propertyType: 'string' },\n { displayName: 'Przypisany', propertyName: 'elementAssignee', propertyType: 'string' },\n { displayName: 'Odpowiedzialny', propertyName: 'assigneeName', propertyType: 'string' },\n { displayName: 'Autor', propertyName: 'author', propertyType: 'string' },\n { displayName: 'Status', propertyName: 'issueState', propertyType: 'string' },\n { displayName: 'Vsts Id', propertyName: 'tfsId', propertyType: 'number' },\n { displayName: 'Typ', propertyName: 'issueType', propertyType: 'string' }\n ];\n\n private gridMenuButtons: MenuButton[] = [\n { text: 'Kopiuj', class: \"btn-success\", icon: '', onClick: () => { this.copy() }, enabled: true, isForSelected: true },\n { text: 'Zmiana statusu', class: \"btn-primary\", icon: '', onClick: () => { this.changeState() }, enabled: true, isForSelected: true }\n ];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private loginRest: LoginRest,\n private issueRest: IssuesRest,\n public dialog: DialogService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private spinnerService: SpinnerService,\n private issueService: IssueService,\n private permissionService: PermissionsService\n ) {\n super();\n this._grid = this.grid;\n this.onResize();\n }\n\n ngOnInit() {\n this.mainFilter = new Array();\n this.spinnerService.show();\n if (!this.dialogConfigData) {\n this.tryRestoreFiltersAndPage();\n }\n this.getUsersToSelect();\n this.getStatesToSelect();\n this.getCustomersToSelect();\n this.initializeVstsFilter();\n this.setPermissions('Issue');\n this.path = `api/issues/grid`;\n\n this.selectionMode = this.selectionMode === SelectionMode.none ? SelectionMode.multi : this.selectionMode;\n\n this.isClosed = false;\n this.processDialogConfig();\n }\n\n ngAfterViewInit() {\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n this.isEditable = this.selectionMode === SelectionMode.none && (this.permissions.canEdit || this.permissions.canShow);\n this.isRemovable = this.selectionMode === SelectionMode.none && this.permissions.canDelete;\n this.isAdd = this.selectionMode === SelectionMode.none && this.permissions.canAdd;\n if (this.permissions.hasIssuesNotAssignedPermission && this.previousMainFilters.NotAssignedIssue == null) {\n this.isNotAssigned = true;\n this.mainFilter.push({ internalName: 'NotAssignedIssue', value: 'true' });\n }\n }\n\n private processDialogConfig() {\n if (!this.dialogConfigData) {\n return;\n }\n if (this.dialogConfigData['initialFilters']) {\n this.initialFilters = this.dialogConfigData['initialFilters'];\n this.lockInitialFilters = this.dialogConfigData['lockInitialFilters'];\n }\n if (this.dialogConfigData['customerId']) {\n this.customerId = this.dialogConfigData['customerId'];\n this.mainFilter.push({ internalName: 'CustomerId', value: this.customerId.toString() });\n }\n if (this.dialogConfigData['tfsOnly']) {\n this.tfsOnly = this.dialogConfigData['tfsOnly'];\n this.mainFilter.push({ internalName: 'TfsOnly', value: this.tfsOnly.toString() });\n }\n if (this.dialogConfigData['projectStepId']) {\n this.projectStepId = this.dialogConfigData['projectStepId'];\n this.mainFilter.push({ internalName: 'ProjectStepId', value: this.projectStepId.toString() });\n }\n this.withRestoring = false;\n this.isModal = true;\n }\n\n public getUsersToSelect() {\n const action = this.issueRest.getAssignedToSelect;\n action.call(this.issueRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.assignedToSelect = result.sort((x, y) => x.name > y.name ? 1 : -1);\n this.watchersToSelect = result.sort((x, y) => x.name > y.name ? 1 : -1);\n this.watcherCode = null;\n\n this.getCurrentUser();\n }\n });\n }\n\n public getCustomersToSelect() {\n const action = this.issueRest.getCustomerIdsToSelect;\n action.call(this.issueRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.customersToSelect = result.sort((x, y) => x.name > y.name ? 1 : -1);\n this.customerIds = undefined;\n }\n });\n }\n\n public getStatesToSelect() {\n const action = this.issueRest.getStates;\n action.call(this.issueRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.stateToSelect = result.sort((x, y) => x.name > y.name ? 1 : -1);\n this.states = undefined;\n }\n });\n }\n\n private getCurrentUser() {\n if (!this.isRestoredMainFilter) {\n this.spinnerService.show();\n }\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.currentUser = user;\n \n const assigned = this.assignedToSelect.find(x => x.id === this.assignedId);\n if(assigned)\n {\n this.assignedId = user.employeeId;\n this.assignedCode = user.email;\n }\n this.spinnerService.hide();\n });\n }\n\n private initializeVstsFilter() {\n this.vstsOptions = [\n { id: 0, name: 'Nie', guid: '' },\n { id: 1, name: 'Tak', guid: '' }\n ];\n }\n\n private setFilter(internalName: string, value: any) {\n this.mainFilter.push({ internalName: internalName, value: value });\n this.grid.mainFilter = this.mainFilter;\n }\n\n private filter() {\n this.mainFilter = new Array();\n if (this.projectStepId != undefined) {\n this.setFilter('ProjectStepId', this.projectStepId);\n } else {\n if (this.assignedId !== undefined) {\n this.setFilter('IssueAssigned', this.assignedId);\n if (this.assignedId) {\n this.setFilter('IssueAssignedCode', this.assignedToSelect.find(x => x.id === this.assignedId).guid);\n } else {\n\n }\n }\n\n if (this.watcherCode !== undefined) {\n this.setFilter('IssueWatcher', this.watcherCode);\n }\n\n if (this.states !== undefined) {\n this.setFilter('ObjectStates', this.mergeStringArray(this.states))\n }\n \n if (this.customerIds !== undefined) {\n this.setFilter('CustomerIds', this.mergeNumberArray(this.customerIds))\n }\n\n this.setFilter('ClosedIssue', this.isClosed);\n this.setFilter('NotAssignedIssue', this.isNotAssigned);\n }\n\n if (this.customerId != null) {\n this.setFilter('CustomerId', this.customerId);\n }\n\n if (this.tfsOnly != null) {\n this.setFilter('TfsOnly', this.tfsOnly);\n }\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n private mergeStringArray(array: string[]) { \n return array.join(\",\");\n }\n\n private mergeNumberArray(array: number[]) { \n return array.join(\",\");\n }\n\n private clearFilter() {\n if (this.assignedId !== this.currentUser.employeeId || this.watcherCode !== undefined\n || this.isClosed !== false || this.isNotAssigned !== false || this.tfsOnly != null) {\n \n if(this.assignedToSelect.find(x => x.id === this.currentUser.employeeId))\n {\n this.assignedId = this.currentUser.employeeId;\n this.assignedCode = this.currentUser.email;\n }\n else\n {\n this.assignedId = null;\n this.assignedCode = null;\n }\n this.watcherCode = undefined;\n this.customerIds = undefined;\n this.states = undefined;\n this.isNotAssigned = this.permissions.hasIssuesNotAssignedPermission;\n this.isClosed = false;\n this.tfsOnly = null;\n this.filter();\n }\n }\n\n private onRowEdit(row: IssueRow) {\n this.issueService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\n this.router.navigate(['../issues/issue', row.id], { queryParams: { id: row.id }, relativeTo: this.route });\n }\n\n private changeState() {\n var selectedItems = this.grid.getSelectedItems();\n\n if (selectedItems.length === 0) {\n sweetAlert(\"Nie zaznaczono elementów.\");\n return;\n }\n\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.none;\n dialogConf.title = 'Wybierz status';\n dialogConf.maxwidth = '700px';\n dialogConf.data = { selectedItems: selectedItems.map(u => u.id) };\n\n const dialogRef = this.dialog.open(IssuesChangeStateComponent, dialogConf);\n dialogRef.afterClosed.subscribe(() => this.grid.refreshData());\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event?) {\n\n if (window.innerWidth <= 769) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n\n private onRowAdd() {\n this.issueService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\n this.router.navigate(['../issues/issue', 'new'], { queryParams: { id: 0 }, relativeTo: this.route });\n }\n\n private onRowDelete(row: IssueRow) {\n sweetAlert('Czy na pewno chcesz usunąć zgłoszenie?', {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n const action = this.issueRest.checkIfIssueHasElements;\n action.call(this.issueRest, row.id).subscribe((result: boolean) => {\n if (result === true) {\n let message = `Zgłoszenie posiada elementy. Czy na pewno chcesz je usunąć?`;\n\n sweetAlert(message, {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.deleteIssue(row.id);\n break;\n }\n });\n } else {\n this.deleteIssue(row.id);\n }\n });\n break;\n }\n });\n }\n\n private deleteIssue(id: number) {\n const action = this.issueRest.removeIssue;\n action.call(this.issueRest, id).subscribe((result: string) => {\n if (result) {\n sweetAlert({ text: `Usunięto zgłoszenie` });\n this.grid.refreshData(false);\n }\n });\n }\n\n private tryRestoreFiltersAndPage() {\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\n if (!previousGridParams) {\n return;\n }\n this.initialFilters = previousGridParams.initialFilters;\n this.previousMainFilters = previousGridParams.previousMainFilters;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n }\n\n private copy() {\n var selectedItems = this.grid.getSelectedItems();\n\n if (selectedItems.length == 0) {\n sweetAlert(\"Nie zaznaczono elementu.\");\n return;\n }\n\n if (selectedItems.length > 1) {\n sweetAlert(\"Zaznaczono więcej niż jeden element.\");\n return;\n }\n\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, selectedItems[0].id);\n this.router.navigate(['../issues/issue', 'copy', selectedItems[0].id], { queryParams: { isCopy: 1, id: selectedItems[0].id }, relativeTo: this.route });\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n private setFiltersFromRestoredData() {\n const isClosed = this.findFilter('ClosedIssue');\n if (isClosed != null && isClosed === 'true') {\n this.isClosed = true;\n } else if (isClosed != null && isClosed === 'false') {\n this.isClosed = false;\n } else {\n this.isClosed = this.isClosed;\n }\n\n const tfsOnly = this.findFilter('TfsOnly');\n this.tfsOnly = tfsOnly != null ? parseInt(tfsOnly) : null;\n\n const assignedId = this.findFilter('IssueAssigned');\n this.assignedId = assignedId != null ? parseInt(assignedId) : null;\n\n if (this.assignedId) {\n const assignedCode = this.findFilter('IssueAssignedCode');\n this.assignedCode = assignedCode != null ? assignedCode : null;\n } else {\n this.assignedCode = null;\n }\n\n const watcherCode = this.findFilter('IssueWatcher');\n this.watcherCode = watcherCode;\n\n const customerIds = this.findFilter('CustomerIds');\n this.customerIds = customerIds != null ? customerIds.split(',').map(id => parseInt(id)) : undefined;\n\n const states = this.findFilter('ObjectStates');\n this.states = states != null ? states.split(',') : undefined;\n\n const isNotAssigned = this.findFilter('NotAssignedIssue');\n if (isNotAssigned != null && isNotAssigned === 'true') {\n this.isNotAssigned = true;\n } else if (isNotAssigned != null && isNotAssigned === 'false') {\n this.isNotAssigned = false;\n } else {\n this.isNotAssigned = this.isNotAssigned;\n }\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { IssuesListRouting } from \"./issues-list.routing\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { IssuesListComponent } from \"./issues-list.component\";\nimport { IssuesRest } from \"../issues.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { IssuesChangeStateComponent } from \"./issues-change-state/issues-change-state.component\";\nimport { IssueListModule } from \"./issue-list.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n IssueListModule,\n IssuesListRouting,\n SharedModule\n ],\n declarations: [],\n entryComponents: [ IssuesListComponent, IssuesChangeStateComponent],\n exports: [IssuesChangeStateComponent, IssuesListComponent],\n providers : [IssuesRest, LoginRest]\n })\n export class IssuesListModule { }","import { Routes, RouterModule } from \"@angular/router\";\nimport { IssuesListComponent } from \"./issues-list.component\";\nimport { IssueDetailsModule } from \"../issue-details/issue-details.module\";\n\nconst routes: Routes = [\n { path: '', component: IssuesListComponent },\n { path: 'issue', loadChildren: () => IssueDetailsModule }\n ];\n\n export const IssuesListRouting = RouterModule.forChild(routes);","import { Worklog } from \"../worklogs/worklogs.model\";\nimport { AttachmentHolder, AttachmentInfo } from \"../core/shared/attachments/attachments.model\";\n\nexport class IssueRow {\n id: number;\n fullTitle: string;\n customerCode: string;\n createdDate: Date;\n projectFullName: string\n}\n\nexport class Issue implements AttachmentHolder {\n attachments: AttachmentInfo[];\n id: number;\n issueType: string;\n departmentId: number;\n customerId: number;\n customerCode: string;\n reporterId: number;\n assigneeId: number;\n assigneeName: string;\n title: string;\n systemVersionId: number;\n startDate: Date = new Date();\n endDate: Date;\n budget: number;\n timeBudget: number;\n priority = 2;\n isInternal = false;\n objectTypeId: number;\n //projectId: number;\n projectName: string;\n projectStepId: number;\n projectStepName: string;\n objectStateId: number;\n payed = false;\n tfsId: number;\n description: string;\n htmlDescripiton: string;\n isToTfs = false;\n areaPathId: number;\n isPublic = false;\n planningWorkTime = 0;\n previousAssigneeId: number;\n author: string;\n userStoryId: number;\n userStoryName: string;\n comarchId: string;\n functionalityId: number;\n assignedTo: string;\n elementAssignee: string;\n notAssignedIssue = false;\n\n issueElements: IssueElement[];\n issueWatchers: IssueWatcher[];\n issueRelations: IssueRelation[];\n worklogs: Worklog[];\n}\n\nexport class IssueRelation {\n id: number;\n parentId: number;\n childId: number;\n childTitle: string;\n childStartDate: Date;\n childEndDate: Date;\n childBudget: number;\n childTimeBudget: number;\n childWorklogsTimeSpent: number;\n childDescription: string;\n}\n\nexport class IssueElement {\n id: number;\n issueId: number;\n employeeId: number;\n description: string;\n objectTypeId: number;\n objectStateId: number;\n isInternal = true;\n emailConfirmation: number;\n htmlDescripiton: string;\n isSynchronizedToTfs: boolean;\n isFromTfs: boolean;\n assignedTo: string;\n stateTranslation: string;\n createdDate: Date = new Date();\n createdBy: string;\n employeeFullName: string;\n isNew = true;\n autoForNotAssigned = false;\n}\n\nexport class IssueWatcher {\n id: number;\n issueId: number;\n employeeId: number;\n employeeFullName: string;\n isFromProject: boolean;\n}\n\nexport class ChangeStateEntity {\n ids: number[];\n objectStateId: number;\n isSendEmail: boolean;\n description: string;\n}\n","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../core/core/rest.service\";\nimport { IssueRow, Issue, IssueElement, ChangeStateEntity, IssueRelation } from \"./issues.model\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { Worklog } from \"../worklogs/worklogs.model\";\n\n@Injectable()\nexport class IssuesRest {\n constructor(private http: RestService) { }\n\n public getIssues() {\n return this.http.get('api/issues/grid');\n }\n\n public getIssue(issueId: number, getWorklogs?: boolean ) {\n if (getWorklogs) {\n return this.http.get(`api/issues/issue/${issueId}/${getWorklogs}`);\n } else {\n return this.http.get(`api/issues/issue/${issueId}/${false}`);\n }\n }\n\n public createEmptyIssue(employeeId: number) {\n return this.http.get(`api/issues/createEmptyIssue/${employeeId}`);\n }\n\n public saveIssue(issue: Issue, isNew: boolean) {\n return this.http.post(`api/issues/saveIssue/${isNew}`, issue);\n }\n\n public removeIssue(id: number) {\n return this.http.post(`api/issues/deleteIssue/${id}`, {});\n }\n\n public getAssignedToSelect() {\n return this.http.get('api/issues/getAssignedToSelect');\n }\n\n public getIssueTypes() {\n return this.http.get('api/issues/getIssueTypes');\n }\n\n public getEmployees() {\n return this.http.get('api/issues/getEmployees');\n }\n\n public getCustomerIdsToSelect() {\n return this.http.get('api/issues/getCustomerIdsToSelect');\n }\n\n public getCustomerEmployees(customerId: number) {\n return this.http.get(`api/issues/getCustomerEmployees/${customerId}`);\n }\n\n public getDepartments() {\n return this.http.get('api/issues/getDepartments');\n }\n\n public getSystemVersions(customerId: number) {\n return this.http.get(`api/issues/getSystemVersions/${customerId}`);\n }\n\n public getStates() {\n return this.http.get('api/issues/getStates');\n }\n\n public getFunctionalities() {\n return this.http.get('api/issues/getFunctionalities');\n }\n\n public saveElement(element: IssueElement, isNew: boolean) {\n return this.http.post(`api/issues/saveElement/${isNew}`, element);\n }\n\n public removeElement(element: IssueElement) {\n return this.http.post(`api/issues/removeElement/${element.id}/${element.issueId}`, {});\n }\n\n public removeWatcher(id: number) {\n return this.http.post(`api/issues/removeWatcher/${id}`, {});\n }\n\n public removeRelation(id: number) {\n return this.http.post(`api/issues/removeRelation/${id}`, {});\n }\n\n public changeStates(selected: ChangeStateEntity) {\n return this.http.post(`api/issues/changeStates`, selected);\n }\n\n public getIssueRowsByFilter(data: {id: number, value: string}) {\n return this.http.post(`api/issues/rows`, data );\n }\n\n public getIssueElements(issueId: number) {\n return this.http.get(`api/issues/issue/elements/${issueId}`);\n }\n\n public getIssueRelations(issueId: number) {\n return this.http.get(`api/issues/issue/relations/${issueId}`);\n }\n\n public getIssueWorklogs(issueId: number) {\n return this.http.get(`api/issues/issue/worklogs/${issueId}`);\n }\n\n public saveIssueRelation(issueRelation: IssueRelation) {\n return this.http.post(`api/issues/relations/add`, issueRelation);\n }\n\n public copyIssue(issueId: number) {\n return this.http.post(`api/issues/copyIssue`, issueId);\n }\n\n public checkIfIssueHasElements(id: number) {\n return this.http.get(`api/issues/checkIfIssueHasElements/${id}`);\n }\n\n public getEmptySystemVersion() {\n return this.http.get(`api/issues/getEmptySystemVersion`);\n }\n\n}\n","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        ITS - {{ 'COMMONBUTTONS_resetPassword' | translate}}
        \\n
        \\n
        \\n
        \\n \\n {{ message }}\\n
        \\n
        \\n \\n {{ message | translate }}\\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 \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { LoginService } from './login.service';\nimport { TranslatorService } from '../core/translator/translator.service';\n\n@Component({\n selector: 'login-chp',\n templateUrl: './change-password.component.html'\n })\n\n export class ChangePasswordComponent implements OnInit {\n \n public showErrorMessage: boolean;\n public showMessage: boolean;\n public hide: boolean;\n public hideRepeat: boolean;\n\n private userName: string;\n private oldPassword: string;\n private password: string;\n private repeatPassword: string;\n private message : string;\n\n @ViewChild('changePasswordForm') changePasswordForm: NgForm;\n\n constructor( \n private router: Router, \n private route: ActivatedRoute,\n private translateService: TranslatorService,\n private loginService: LoginService\n ) { \n this.hide = true;\n this.hideRepeat = true;\n }\n\n public ngOnInit() {\n if (this.route.snapshot.params['user']) {\n this.route.params.subscribe(params => {\n this.userName = params['user'];\n });\n }\n }\n\n public onSubmit(value: any) {\n if (this.password !== this.repeatPassword)\n {\n this.showMesage('LOGIN_diffrentPassword');\n }\n\n this.loginService.changePassword(this.userName, this.password, this.oldPassword).subscribe(\n token => {\n const redirectUrl = '/dashboard';\n this.router.navigate([redirectUrl]);\n },\n error => {\n if(error.message.toString().includes('kontrahent')){\n const redirectUrl = '/login';\n this.router.navigate([redirectUrl]);\n }\n else{\n this.showError(error);\n }\n });\n }\n\n showMesage(translateMessage: string) { \n this.translateService.translate.get(translateMessage).subscribe(\n (value) => {\n this.message = value;\n this.showMessage = true;\n setTimeout(() => this.showMessage = false, 3000);\n });\n }\n\n showError(errorMessage: string) {\n this.message = errorMessage;\n this.showErrorMessage = true;\n setTimeout(() => this.showErrorMessage = false, 5000); \n }\n }","module.exports = \"\\n
        \\n
        \\n
        \\n
        \\n
        \\n
        ITS
        \\n
        \\\"App
        \\n \\n
        \\n
        \\n \\n
        \\n \\n\\n
        \\n \\n {{ message | translate }}\\n
        \\n
        \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n {{customer.name}}\\n \\n \\n Wybierz kontrahenta\\n \\n
        \\n\\n \\n \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n\\n\"","import { Component, OnInit, ViewChild, Inject, ViewChildren } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LoginService } from './login.service'\nimport { Router } from '@angular/router';\nimport 'rxjs/add/operator/map';\nimport { NotificationService } from '../core/services/notification/notification.service';\nimport { MessageBoxComponent } from '../core/shared/message-box.component';\nimport { Subscription } from 'rxjs';\n//import { TranslateService } from 'ng2-translate';\nimport { WINDOW } from './reset-password/window.provider';\nimport { TranslatorService } from '../core/translator/translator.service';\nimport { ThemesService } from '../core/themes/themes.service';\nimport { connectableObservableDescriptor } from 'rxjs/internal/observable/ConnectableObservable';\nimport { ObjectToSelect } from '../core/shared/objectToSelect.model';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html'\n})\nexport class LoginComponent implements OnInit {\n readonly previousPathKey = 'PreviousVisitedPath';\n\n public showErrorMessage: boolean;\n public showInfoMessage: boolean;\n public hide: boolean;\n\n private title = 'Forma logowania';\n private isError = false;\n private message: string;\n private messageBoxSubscription: Subscription;\n customers: Array;\n\n private isMobile: boolean;\n username: string;\n password: string;\n customerSelected: ObjectToSelect = null;\n customerRequired = false;\n\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\n @ViewChild(NgForm) loginForm: NgForm;\n\n public constructor(\n private loginService: LoginService,\n private router: Router,\n private notificationService: NotificationService,\n private translateService: TranslatorService,\n @Inject(WINDOW) private window: Window\n ) {\n this.hide = true;\n }\n\n public ngOnInit() {\n this.customers = new Array();\n }\n\n userKeyDown($event){\n this.customerSelected = null;\n this.customerRequired = false;\n }\n\n\n public onSubmit(value: any) { \n this.loginService.login(this.username, this.password, this.customerSelected)\n .subscribe(\n token => {\n let previousVisitedPath = localStorage.getItem(this.previousPathKey);\n if(previousVisitedPath != undefined) {\n this.router.navigateByUrl(previousVisitedPath);\n }\n else\n {\n const redirectUrl = '/dashboard';\n this.router.navigate([redirectUrl]);\n }\n },\n (error: string) => {\n this.isError = true;\n if(error.toString().includes('Użytkownik zewnętrzny. Należy wybrać kontrahenta.')){\n this.getCustomerForUser();\n }else{\n this.showError(error);\n }\n }\n );\n }\n\n public resetPassword()\n {\n let resetPassFormUrl = this.getResetPassFormUrl();\n sweetAlert('Czy zresetować hasło?', {\n buttons: {\n yes: {\n text: 'Tak',\n value: 'yes'\n },\n no: {\n text: 'Nie',\n value: 'no',\n }\n }\n })\n .then((value) => {\n switch (value) {\n case 'yes':\n this.loginService.sendResetFormUrl(resetPassFormUrl, this.username).subscribe(() => {\n this.showMessage('LOGIN_sendResetPasswordForm');\n });\n\n break;\n }\n });\n }\n\n private getCustomerForUser(){\n this.loginService.getCustomers(this.username).subscribe((customers: ObjectToSelect[]) => {\n this.customers = customers;\n this.customerRequired = true;\n });\n }\n\n private errorDismiss() {\n this.isError = false;\n }\n\n showMessage(message: string) {\n this.notificationService.notify(message);\n this.message = message;\n this.showInfoMessage = true; \n setTimeout(() => this.showInfoMessage = false, 5000); \n }\n\n showError(errorMessage: string) {\n this.notificationService.notify(errorMessage);\n this.message = errorMessage;\n this.showErrorMessage = true; \n setTimeout(() => this.showErrorMessage = false, 5000); \n }\n\n getResetPassFormUrl(): string {\n let url: string;\n let domain: string = this.window.location.origin;\n let resetPasswordRoute: string = 'resetpassword?token='; \n url = `${domain}/${resetPasswordRoute}`;\n return url;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { CanActivate, Router } from \"@angular/router\";\nimport { SessionService } from \"../core/core/session.service\";\n\n@Injectable()\nexport class LoginGuard implements CanActivate {\n\n constructor(private sessionService: SessionService, private router: Router) { }\n\n public canActivate(next, state) {\n return this.sessionService.isSessionActive().map(sessionActive => {\n if (sessionActive) {\n this.router.navigate(['/dashboard']);\n return false;\n }\n return true;\n });\n }\n}","export class LoginModel {\n login: string;\n password: string;\n \n}\n\nexport class ResetPasswordData {\n userName: string;\n password: string;\n token: string;\n}\n\nexport class ResetFormRequest {\n url: string;\n username: string;\n}\n\nexport class WebToken {\n accessToken: string;\n refreshToken: string;\n}\n\nexport class UserForMention {\n name: string;\n email: string;\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginComponent } from './login.component';\nimport { loginRouting } from './login.routing';\nimport { LoginGuard } from './login.guard';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material';\nimport { MatInputModule } from '@angular/material';\nimport { MatSelectModule } from '@angular/material';\nimport { HttpClientModule } from '@angular/common/http';\nimport { HttpModule } from '@angular/http';\nimport { LoginService } from './login.service';\nimport { ChangePasswordComponent } from './change-password.component';\nimport { SharedModule } from '../core/shared/shared.module';\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\nimport { WINDOW_PROVIDERS } from './reset-password/window.provider';\n\n\n@NgModule({\n imports: [\n loginRouting,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n MatFormFieldModule,\n MatSelectModule,\n HttpClientModule,\n HttpModule,\n SharedModule\n ],\n\n declarations: [LoginComponent, ChangePasswordComponent, ResetPasswordComponent],\n providers: [LoginService, LoginGuard, WINDOW_PROVIDERS],\n})\nexport class LoginModule {\n}\n","\nimport { Injectable } from '@angular/core';\nimport { Http, Headers, Response } from '@angular/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/observable/throw';\nimport { RestResponse } from '../core/core/core.model'\n\nimport 'rxjs/operator/delay';\nimport 'rxjs/operator/mergeMap';\nimport 'rxjs/operator/switchMap';\nimport { RestService } from '../core/core/rest.service';\nimport { LoginModel, ResetPasswordData, ResetFormRequest, WebToken, UserForMention } from './login.model';\nimport { ObjectToSelect } from '../core/shared/objectToSelect.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginRest { \n private loginResponse: RestResponse;\n private loginModel : LoginModel;\n private GetLoggedUserNameUrl = \"api/loggedusername\";\n private GetLoggedUserUrl = \"api/loggeduser\";\n\n constructor(private http: RestService) { }\n\n public login(user: string, password: string, customer: ObjectToSelect) : Observable { \n\n // this.loginModel = new LoginModel();\n // this.loginModel.login = user;\n // this.loginModel.password = password;\n \n return this.http.post('api/login', {login: user, password: password, customerId: customer == null ? null : customer.id });\n };\n\n public logout(): Observable {\n return this.http.post('api/logout', {});\n }\n\n public changePassword(user: string, password: string, oldPassword: string) : Observable {\n return this.http.post('api/changepassword', {login: user, password: password, oldPassword: oldPassword}); \n }\n\n public getUserRole() {\n return this.http.get('api/user/role');\n } \n\n public resetPassword(data: ResetPasswordData) {\n return this.http.post('api/resetpassword', data);\n }\n\n public sendResetFormUrl(data: ResetFormRequest) {\n return this.http.post('api/resetpassword/sendFormUrl', data);\n }\n\n public GetLoggedUser(): Observable {\n return this.http.get(this.GetLoggedUserUrl);\n }\n\n public GetLoggedUserName(): Observable {\n return this.http.get(this.GetLoggedUserNameUrl);\n }\n\n public getCustomers(username: string) {\n return this.http.get(`api/getcustomers/${username}`);\n }\n\n public getUsersForMention() {\n return this.http.get('api/getusersformention');\n }\n}\n","import { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './login.component';\nimport { LoginGuard } from './login.guard';\nimport { ChangePasswordComponent } from './change-password.component';\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\n\nconst routes: Routes = [\n { path: '', component: LoginComponent, canActivate: [LoginGuard] },\n { path: 'changepassword/:user', component: ChangePasswordComponent },\n { path: 'resetpassword', component: ResetPasswordComponent },\n ];\n\n export const loginRouting = RouterModule.forChild(routes);","\nimport { Injectable } from '@angular/core';\nimport { Http, Headers, Response } from '@angular/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/observable/throw';\nimport { RestResponse } from '../core/core/core.model'\n\nimport 'rxjs/operator/delay';\nimport 'rxjs/operator/mergeMap';\nimport 'rxjs/operator/switchMap';\n\nimport { LoginRest } from './login.rest'\nimport { ResetPasswordData, ResetFormRequest, WebToken } from './login.model';\nimport { ObjectToSelect } from '../core/shared/objectToSelect.model';\n \n@Injectable({\n providedIn: 'root'\n})\nexport class LoginService {\n private loginResponse: RestResponse;\n\n constructor(private http: Http, private loginRest: LoginRest) { }\n\n public login(user: string, password: string, customer: ObjectToSelect): Observable {\n return this.loginRest.login(user, password, customer)\n .map((data:WebToken) => {\n localStorage.setItem('token', data.accessToken);\n localStorage.setItem('refreshToken', data.refreshToken);\n\n this.getUsersForMention().subscribe();\n\n return data;\n }); \n };\n\n public logout(): Observable{\n return this.loginRest.logout().map((data:string) =>\n {\n localStorage.removeItem('token');\n localStorage.removeItem('refreshToken');\n return data;\n });\n }\n\n public changePassword(user: string, password: string, oldPassword: string): Observable {\n return this.loginRest.changePassword(user, password, oldPassword)\n .map((data:WebToken) => {\n localStorage.setItem('token',data.accessToken)\n localStorage.setItem('refreshToken', data.refreshToken);\n return data;\n }); \n };\n\n public sendPassword(email: string): Observable {\n return this.http.post('api/password/preparetoreset', JSON.stringify({\n email: email\n }), {\n headers: new Headers({\n 'Content-Type': 'application/json'\n })\n })\n .map((res: Response) => {\n if (res.status < 200) {\n throw Error('Bad response status: ' + res.status);\n }\n this.loginResponse = res.json();\n if (this.loginResponse.isSuccess) {\n return true;\n } else {\n throw new Error(this.loginResponse.errorMessage);\n }\n }).catch((error) => {\n return Observable.throw(error);\n });\n };\n\n public resetPassword(resetPasswordData: ResetPasswordData) {\n return this.loginRest.resetPassword(resetPasswordData);\n }\n\n public sendResetFormUrl(url: string, username: string) {\n let request: ResetFormRequest = {\n url: url,\n username: username\n }\n return this.loginRest.sendResetFormUrl(request);\n }\n\n getCustomers(username: string) {\n return this.loginRest.getCustomers(username);\n }\n\n getUsersForMention() {\n return this.loginRest.getUsersForMention().map((users) => {\n localStorage.setItem('userMentions', JSON.stringify(users) || '[]');\n console.log(users);\n });\n }\n}\n","module.exports = \"\"","module.exports = \"
        \\n
        \\n
        \\n
        \\n
        ITS - {{ 'COMMONBUTTONS_resetPassword' | translate}}
        \\n
        \\n
        \\n
        \\n \\n {{ message | translate}}\\n
        \\n
        \\n \\n {{ message | translate }}\\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 \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { LoginService } from '../login.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NotificationService } from '../../core/services/notification/notification.service';\nimport { ResetPasswordData } from '../login.model';\nimport { TranslatorService } from '../../core/translator/translator.service';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.css']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n @ViewChild('resetPasswordForm') resetPasswordForm: NgForm;\n\n private resetPasswordData: ResetPasswordData = new ResetPasswordData();\n private repeatedPassword: string;\n public showErrorMessage: boolean;\n public showInfoMessage: boolean;\n public hide: boolean;\n\n private message: string;\n private token: string;\n\n constructor(\n private loginService: LoginService,\n private router: Router,\n private translateService: TranslatorService,\n private notificationService: NotificationService,\n private activatedRoute: ActivatedRoute\n ) {\n this.hide = true;\n this.activatedRoute.queryParams.subscribe(params => {\n this.token = params['token'];\n });\n }\n\n ngOnInit() {\n if (this.activatedRoute.snapshot.queryParams['user']) {\n this.activatedRoute.queryParams.subscribe(params => {\n this.resetPasswordData.userName = params['user'];\n });\n }\n }\n\n public resetPassword() {\n if (this.resetPasswordData.password !== this.repeatedPassword) {\n this.showError('LOGIN_diffrentPassword');\n return;\n }\n\n this.resetPasswordData.token = this.token;\n this.loginService.resetPassword(this.resetPasswordData).subscribe(() => {\n this.showMessage('LOGIN_resetPassword');\n setTimeout(() => this.router.navigate(['login']), 4000);\n });\n }\n\n showMessage(translateMessage: string) {\n this.translateService.translate.get(translateMessage).subscribe(\n (value) => {\n this.message = value;\n this.showInfoMessage = true;\n // sweetAlert(value);\n setTimeout(() => this.showInfoMessage = false, 3000);\n });\n }\n\n showError(errorMessage: string) {\n this.translateService.translate.get(errorMessage).subscribe(\n (value) => {\n this.message = value;\n this.showErrorMessage = true;\n setTimeout(() => this.showErrorMessage = false, 5000);\n });\n }\n}\n","import { InjectionToken, FactoryProvider } from '@angular/core';\n\nexport const WINDOW = new InjectionToken('window');\n\nconst windowProvider: FactoryProvider = {\n provide: WINDOW,\n useFactory: () => window\n};\n\nexport const WINDOW_PROVIDERS = [\n windowProvider\n]","module.exports = \"
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n \\n \\n \\n Wartośc musi być pomiędzy {{numeratorYear.min}} a {{numeratorYear.max}}. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\n \\n \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n
        \"","module.exports = \".select-control {\\n width: 100%; }\\n\\n.numerator {\\n padding-left: 15px; }\\n\\n@media only screen and (max-width: 600px) {\\n .numerator-control {\\n text-align: center; } }\\n\\n.number-control-left {\\n padding-left: 0 !important; }\\n\\n.number-control-right {\\n padding-right: 0 !important; }\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Numerator, NumeratorType } from './numerator.model';\nimport { NgForm } from '@angular/forms';\nimport { ObjectToSelect } from '../core/shared/objectToSelect.model';\nimport { NumeratorRest } from './numerator.rest';\nimport { HasPermissions, Permissions } from '../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../core/services/permissions/permissions.service';\nimport { SpinEditComponent } from '../core/shared/spinedit/spinedit.component';\n\n@Component({\n selector: 'app-numerator',\n templateUrl: './numerator.component.html',\n styleUrls: ['./numerator.component.scss']\n})\nexport class NumeratorComponent implements OnInit, HasPermissions {\n permissions: Permissions;\n\n public numerator: Numerator;\n\n private previousNumeratorType: string;\n private previousNumeratorSerie: string;\n private previousNumeratorYear: number;\n\n private series: ObjectToSelect[];\n private types: ObjectToSelect[];\n private maxYear: number;\n private numeratorType: NumeratorType;\n @ViewChild('numeratorForm') numeratorForm: NgForm;\n @ViewChild('numeratorYear') numeratorYear: SpinEditComponent;\n constructor(private numeratorRest: NumeratorRest, private permissionService: PermissionsService) { }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n ngOnInit() {\n this.maxYear = new Date().getFullYear() + 1;\n }\n\n public setModel(numerator: Numerator, numeratorType: NumeratorType, claimType: string) {\n this.previousNumeratorType = numerator.numeratorType;\n this.previousNumeratorSerie = numerator.serie;\n this.previousNumeratorYear = numerator.year;\n this.numeratorType = numeratorType;\n this.setPermissions(claimType);\n this.getNumeratorSeries(this.numeratorType);\n this.getNumeratorTypes(this.numeratorType);\n this.numerator = numerator;\n this.numerator.isNumeratorReadOnly = !((this.permissions.canEdit || this.permissions.canAdd) && this.numerator.isNew);\n this.numerator.isNumberReadOnly = this.numerator.numeratorType !== 'PRJ' || this.numerator.isNumeratorReadOnly\n }\n\n private getNumeratorSeries(numeratorType: NumeratorType): void {\n this.numeratorRest.getSeries(numeratorType).subscribe((data: ObjectToSelect[]) => {\n this.series = data;\n });\n }\n\n private getNumeratorTypes(numeratorType: NumeratorType): void {\n this.numeratorRest.getTypes(numeratorType).subscribe((data: ObjectToSelect[]) => {\n this.types = data;\n });\n }\n\n onNumeratorTypeChange(event) {\n this.numerator.numeratorType = event;\n if (this.previousNumeratorType === this.numerator.numeratorType)\n return;\n this.onNumeratorChange();\n }\n\n onNumeratorSerieChange(event) {\n this.numerator.serie = event;\n if (this.previousNumeratorSerie === this.numerator.serie)\n return;\n this.onNumeratorChange();\n }\n\n onNumeratorNumberChange(event) {\n this.numerator.number = event;\n }\n\n private onNumeratorChange() {\n if (this.numerator.numeratorType === 'PRJ') {\n this.getNumeratorSeries(NumeratorType.project);\n this.numerator.isNumberReadOnly = false;\n this.numerator.number = null;\n }\n else if (this.numerator.numeratorType === 'ZLC') {\n this.getNumeratorSeries(NumeratorType.order);\n this.numerator.isNumberReadOnly = true;\n this.refreshNumber();\n }\n else if (this.numerator.numeratorType === 'IPRU' || this.numerator.numeratorType === 'PRU') {\n if (this.numeratorType !== NumeratorType.worklog)\n this.getNumeratorSeries(NumeratorType.worklog);\n this.numerator.isNumberReadOnly = true;\n this.refreshNumber();\n }\n else {\n this.getNumeratorSeries(NumeratorType.project);\n this.numerator.isNumberReadOnly = true;\n this.refreshNumber();\n }\n }\n\n public refreshNumber() {\n if (this.numerator.numeratorType === \"PRJ\")\n return;\n if (!this.numerator.numeratorType || !this.numerator.serie)\n return;\n this.numeratorRest.getLastNumber(this.numerator).subscribe((data: Number) => {\n this.numerator.number = data.toString();\n });\n }\n\n private onYearChange(event) {\n this.numerator.year = event;\n if (this.previousNumeratorYear === this.numerator.year)\n return;\n this.onNumeratorChange();\n }\n\n public isInvalid() {\n if(this.numerator.isNumeratorReadOnly)\n return false;\n return this.numeratorForm.invalid;\n }\n}\n\n","export interface Numerator {\n numeratorType: string;\n year: number ;\n serie: string;\n number: string;\n objectTypeId: number;\n numberString: string;\n isNew: boolean;\n isNumeratorReadOnly: boolean;\n isNumberReadOnly: boolean;\n}\n\nexport enum NumeratorType {\n project = 1,\n order = 2,\n worklog = 3,\n service = 4,\n consultations = 5\n}\n\n// export class EntityCode {\n// constructor(\n// public id: number,\n// public code: string) { }\n// }","import { Injectable } from '@angular/core';\nimport { RestService } from \"../core/core/rest.service\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { NumeratorType, Numerator } from './numerator.model';\n\n@Injectable()\nexport class NumeratorRest {\n\n constructor(private http: RestService) { }\n\n public getTypes(numeratorType: NumeratorType){\n return this.http.post('api/numerator/gettypes', numeratorType);\n }\n\n public getSeries(numeratorType: NumeratorType){\n return this.http.post('api/numerator/getseries', numeratorType);\n }\n\n public getLastNumber(numerator: Numerator){\n return this.http.post('api/numerator/getlastnumber', numerator);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProfilePictureService {\n\n private profilePicture = new BehaviorSubject('');\n public currentProfilePicture = this.profilePicture.asObservable();\n\n constructor() { }\n\n public changePicture(picture: string) {\n this.profilePicture.next(picture)\n }\n}","module.exports = \"
        \\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
        \"","import { Component, OnInit, ViewChild, ViewChildren, QueryList, AfterViewInit, OnDestroy, HostListener } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProjectsRest } from '../projects.rest';\nimport { LoginRest } from '../../login/login.rest';\nimport { ProjectDetailsHeaderComponent } from './project-header/project-header.component';\nimport { MatTabChangeEvent, MatTabGroup } from '@angular/material';\nimport { Project, ProjectType, ProjectStep, ProjectStepRow } from '../projects.model';\nimport { AttachmentsComponent } from '../../core/shared/attachments/attachments.component';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { ProjectStepListComponent } from '../projectstep-list/projectstep-list.component';\nimport { RichTextComponent } from '../../core/shared/richtext/richtext.component';\nimport { PreviousProjectTypeKey } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { ProjectService } from '../projects.service';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { AttachmentRest } from '../../core/shared/attachments/attachments.rest';\n\n@Component({\n selector: 'app-project-details',\n templateUrl: './project-details.component.html'\n})\nexport class ProjectDetailsComponent implements OnInit, AfterViewInit, HasPermissions {\n permissions: Permissions;\n\n private project: Project;\n private type: ProjectType;\n private descriptionView: RichTextComponent = null;\n private projectId: number;\n private previousProjectType: ProjectType = ProjectType.Project;\n private enabled: boolean\n private projectSteps: ProjectStepRow[];\n private canShowProjectSteps: boolean = false;\n private selectedTabIndex: number = 1;\n private isSaving = false;\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveProject(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];;\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveProject(); }, enabled: false, isForSelected: false };\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: ProjectsRest,\n private loginRest: LoginRest,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private projectService: ProjectService,\n private permissionService: PermissionsService,\n private attachmentRest: AttachmentRest\n ) {\n this.projectDescriptionViews = new QueryList();\n }\n\n @ViewChild(ProjectDetailsHeaderComponent) projectDetailsHeaderComponent: ProjectDetailsHeaderComponent;\n @ViewChild(AttachmentsComponent) attachmentsComponent: AttachmentsComponent;\n @ViewChild(ProjectStepListComponent) projectStepListComponent: ProjectStepListComponent;\n @ViewChildren(RichTextComponent) projectDescriptionViews: QueryList;\n @ViewChild('tabGroup') tabGroup: MatTabGroup;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.saveProject();\n event.preventDefault();\n }\n\n ngOnInit() {\n this.selectedTabIndex = 1;\n this.setPermissions('Project');\n this.canShowProjectSteps = this.permissionService.getUserPermissions(\"ProjectStep\").canShow;\n this.spinnerService.show();\n this.route.queryParams.subscribe(params => {\n let type = parseInt(params.projectType) as ProjectType;\n this.type = type;\n let projectId = parseInt(params.id);\n this.projectId = projectId;\n if (this.projectId === 0)\n this.previousProjectType = this.type;\n this.projectService.currentProject.subscribe((project: Project) => {\n if (!project || project.id !== projectId) {\n this.spinnerService.show();\n this.rest.getProject(projectId, type).subscribe((value: Project) => {\n this.project = value;\n this.enabled = this.permissions.canEdit;\n this.projectDetailsHeaderComponent.setModel(this.project, type);\n this.spinnerService.hide();\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = this.enabled;\n this.saveButton.enabled = this.enabled;\n });\n }\n else {\n this.project = project;\n this.enabled = this.permissions.canEdit;\n this.spinnerService.show();\n this.projectDetailsHeaderComponent.setModel(this.project, type);\n this.spinnerService.hide();\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = this.enabled;\n this.saveButton.enabled = this.enabled;\n }\n this.projectService.selectedTab.subscribe((tabIndex: number) => {\n if (tabIndex && tabIndex !== 0) {\n this.selectedTabIndex = tabIndex;\n this.tabIndexChanged(this.selectedTabIndex);\n }\n })\n }).unsubscribe();\n });\n this.getPrevoiusProjectType();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n private getDescription() {\n this.projectDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (!this.descriptionView) {\n this.descriptionView = nv.first;\n }\n if (!this.project.isNew) {\n this.descriptionView.setHtml(this.project.description);\n } else {\n this.descriptionView.setHtml('');\n }\n if (!this.enabled)\n this.descriptionView.disableContol();\n });\n }\n\n public tabIndexChanged(index: number): void {\n if (!this.project)\n return;\n if (index === 1) {\n this.projectDetailsHeaderComponent.setModel(this.project, this.type);\n }\n else if (index === 2) {\n if (!this.canShowProjectSteps) {\n this.saveDescription();\n return;\n }\n if (this.projectSteps) {\n this.projectStepListComponent.setModel(this.project, this.type, this.projectSteps);\n }\n else {\n this.spinnerService.show();\n if (this.project.newProjectSteps) {\n let projectSteps: ProjectStepRow[] = new Array();\n this.project.newProjectSteps.forEach((projectStep: ProjectStep) => {\n let projectStepRow = new ProjectStepRow();\n projectStepRow.id = projectStep.id;\n projectStepRow.isPublic = projectStep.isPublic;\n projectStepRow.name = projectStep.name;\n projectStepRow.payerName = projectStep.payerName;\n projectStepRow.startDate = projectStep.startDate;\n projectStepRow.endDate = projectStep.endDate;\n projectStepRow.objectStateName = projectStep.objectStateName;\n projectSteps.push(projectStepRow);\n });\n this.projectSteps = projectSteps;\n this.projectStepListComponent.setModel(this.project, this.type, this.projectSteps);\n this.spinnerService.hide();\n }\n else {\n this.rest.getProjectStepRows(this.project.id).subscribe((projectSteps: ProjectStepRow[]) => {\n this.projectSteps = projectSteps;\n this.projectStepListComponent.setModel(this.project, this.type, this.projectSteps);\n this.spinnerService.hide();\n });\n }\n }\n }\n else if (index === 3) {\n this.getDescription();\n //this.projectDescriptionViews.notifyOnChanges();\n }\n else if (index === 4) {\n if (!this.project.attachments || this.project.attachments.length === 0) {\n let path = `api/projects/attachments/grid/${this.project.objectTypeId}/${this.project.id}`;\n this.attachmentRest.getAttachmentsGrid(path).subscribe(res => {\n this.project.attachments = res;\n this.attachmentsComponent.setModel(this.project, 'projects');\n });\n }\n else {\n this.attachmentsComponent.setModel(this.project, 'projects');\n }\n }\n this.saveDescription();\n }\n\n public saveDescription() {\n if (this.descriptionView == null) {\n return;\n }\n if (this.project && typeof (this.descriptionView.getHtml()) === \"string\" && this.descriptionView.getHtml() !== '') {\n this.project.description = this.descriptionView.getHtml();\n }\n }\n\n private saveProject() {\n if (this.projectDetailsHeaderComponent.isInvalid()) {\n sweetAlert('Dane są niekompletne, nie można zapisać');\n return;\n }\n this.saveDescription();\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n this.rest.saveProject(this.project).subscribe(id => {\n if (this.projectId === 0) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(id, this.previousProjectType);\n }\n let path = this.getPreviousPath();\n this.router.navigate([path], { relativeTo: this.route });\n this.projectService.complete();\n this.isSaving = false;\n });\n\n }\n\n private close() {\n let path = this.getPreviousPath();\n this.router.navigate([path], { relativeTo: this.route });\n this.projectService.complete();\n }\n\n private getPrevoiusProjectType() {\n let previousProjectTypeStr = sessionStorage.getItem(PreviousProjectTypeKey);\n if (previousProjectTypeStr) {\n let previousProjectType = parseInt(previousProjectTypeStr) as ProjectType;\n this.previousProjectType = previousProjectType;\n }\n }\n\n private getPreviousPath() {\n switch (this.previousProjectType) {\n case ProjectType.Order:\n return '../../../orders';\n\n case ProjectType.Service:\n return '../../../services';\n\n case ProjectType.Consultations:\n return '../../../consultations';\n\n default:\n return '../../';\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { ProjectsRest } from \"../projects.rest\";\nimport { ProjectDetailsRouting } from \"./project-details.routing\";\nimport { ProjectDetailsComponent } from \"./project-details.component\";\nimport { ProjectDetailsHeaderComponent } from \"./project-header/project-header.component\";\nimport { CustomersListModule } from \"../../company/customers/customers-list/customers-list.module\";\nimport { CustomersListComponent } from \"../../company/customers/customers-list/customers-list.component\";\nimport { EmployeesListComponent } from \"../../company/employees/employee-list/employees-list.component\";\nimport { EmployeesModule } from \"../../company/employees/employes.module\";\nimport { ProjectStepListComponent } from \"../projectstep-list/projectstep-list.component\";\n@NgModule({\n imports:[CommonModule, ProjectDetailsRouting, SharedModule, CustomersListModule, EmployeesModule],\n entryComponents: [CustomersListComponent, EmployeesListComponent],\n declarations:[ProjectDetailsComponent, ProjectDetailsHeaderComponent, ProjectStepListComponent],\n exports: [ProjectDetailsHeaderComponent, ProjectStepListComponent],\n providers: [ProjectsRest]\n})\nexport class ProjectDetailsModule{}","import { ProjectDetailsComponent } from \"./project-details.component\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { ProjectStepModule } from \"../projectstep/projectstep.module\";\n\nconst routes: Routes = [\n { path: ':Id', component: ProjectDetailsComponent }, \n { path: 'new', component: ProjectDetailsComponent }, \n { path: ':Id/projectstep', loadChildren: () => ProjectStepModule }, \n { path: ':Id/orderstep', loadChildren: () => ProjectStepModule }, \n { path: ':Id/servicestep', loadChildren: () => ProjectStepModule }, \n { path: ':Id/consultationstep', loadChildren: () => ProjectStepModule }\n];\n\nexport const ProjectDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
        \\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 {{option.data.name}} ({{option.data.guid}})\\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n
        \\n \\n \\n Uzupełnij wartość. \\n Wciśnij 'enter'. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n
        \\n \\n \\n Uzupełnij wartość. \\n Wciśnij 'enter'. \\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 Wybierz wersję systemu\\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 Wartośc musi być pomiędzy {{budget.min}} a {{budget.max}}.\\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n Wartośc musi być pomiędzy {{hourlyRate.min}} a {{hourlyRate.max}}.\\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n\\n
        \\n
        \\n \\n \\n \\n
        Obserwatorzy
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n \\n \\n \\n
        Historia zmian statusów
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \"","module.exports = \".select-control {\\n width: 100%; }\\n\\n.header-row {\\n margin-right: 0;\\n margin-left: 0;\\n margin-bottom: 5px;\\n margin-top: 5px; }\\n\\n.mat-accordion-padding-left {\\n padding-left: 0; }\\n\\n.mat-accordion-padding-right {\\n padding-right: 0; }\\n\\n@media (max-width: 575px) {\\n .mat-accordion-padding-left {\\n padding-left: 15px; }\\n .mat-accordion-padding-right {\\n padding-right: 15px; } }\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { NumeratorComponent } from '../../../numerator/numerator.component';\nimport { Project, ProjectType, ProjectWatcher } from '../../projects.model';\nimport { NumeratorType } from '../../../numerator/numerator.model';\nimport { NgForm } from '@angular/forms';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { ProjectsRest } from '../../projects.rest';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { HasPermissions, Permissions } from '../../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../../core/services/permissions/permissions.service';\nimport { ModalComponent } from '../../../core/shared/modal/modal.component';\nimport { CustomerRow } from '../../../company/customers/customers.model';\nimport { SelectionMode, GridSelection } from '../../../core/shared/grid/grid.model';\nimport { CustomersListComponent } from '../../../company/customers/customers-list/customers-list.component';\nimport { CustomersRest } from '../../../company/customers/customers.rest';\nimport { GridComponent } from '../../../core/shared/grid/grid.component';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { EmployeesListComponent } from '../../../company/employees/employee-list/employees-list.component';\nimport { Employee } from '../../../company/employees/employee.model';\nimport { INgxSelectOption } from \"ngx-select-ex\";\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../core/shared/dialog/dialog-config';\n\n@Component({\n selector: 'app-projectdetails-header',\n templateUrl: './project-header.component.html',\n styleUrls: ['./project-header.component.scss']\n})\nexport class ProjectDetailsHeaderComponent extends GridSelection implements OnInit, HasPermissions {\n permissions: Permissions;\n private maxValue = 9999999999999;\n private startDate: DateInputModel;\n private endDate: DateInputModel;\n private showDateClearButton: boolean;\n private enabled: boolean;\n public project: Project;\n\n private states: ObjectToSelect[];\n private employees: ObjectToSelect[];\n private systemVersions: ObjectToSelect[];\n\n private oldCustomer: string;\n private oldReceiver: string;\n\n private projectWatchersPath: string;\n private projectWatchersHeaders: any = [\n { displayName: 'Pracownik', propertyName: 'projectWatcherName', propertyType: 'string' }\n ]\n\n private historyLogsPath: string;\n private historyLogsHeaders: any = [\n { displayName: 'Obiekt', propertyName: 'objectName', propertyType: 'string' },\n { displayName: 'Poprzednia wartość', propertyName: 'oldValue', propertyType: 'string' },\n { displayName: 'Nowa wartość', propertyName: 'newValue', propertyType: 'string' },\n { displayName: 'Data', propertyName: 'updatedDate', propertyType: 'date' },\n { displayName: 'Zmodyfikował', propertyName: 'updatedBy', propertyType: 'string' }\n ]\n\n @ViewChild(NumeratorComponent) numeratorComponent: NumeratorComponent;\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @ViewChild(GridComponent) projectWatchersGrid: GridComponent;\n @ViewChild('projectForm') projectForm: NgForm;\n\n constructor(private projectRest: ProjectsRest,\n private permissionService: PermissionsService,\n public dialog: DialogService,\n private customerRest: CustomersRest,\n private router: Router,\n private route: ActivatedRoute) {\n super();\n this.selectionMode = SelectionMode.none;\n this._grid = this.projectWatchersGrid;\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n ngOnInit() {\n this.projectRest.getStates().subscribe((data: ObjectToSelect[]) => {\n this.states = data;\n });\n\n this.projectRest.getEmployees().subscribe((data: ObjectToSelect[]) => {\n this.employees = data;\n });\n\n this.projectRest.getSystemVersions().subscribe((data: ObjectToSelect[]) => {\n this.systemVersions = data;\n });\n }\n\n public setModel(projectDetailsModel: Project, type: ProjectType) {\n this.setPermissions('Project');\n this.project = projectDetailsModel;\n let numeratorType = NumeratorType.project;\n if (parseInt(type.toString()) === ProjectType.Order)\n numeratorType = NumeratorType.order;\n else if (parseInt(type.toString()) === ProjectType.Consultations)\n numeratorType = NumeratorType.consultations;\n else if (parseInt(type.toString()) === ProjectType.Service)\n numeratorType = NumeratorType.service;\n this.numeratorComponent.setModel(this.project, numeratorType, 'Project');\n this.enabled = this.project.isNew\n ? this.permissions.canAdd\n : this.permissions.canEdit;\n this.initializeDates();\n this.historyLogsPath = `api/projects/gethistorylogs/${this.project.id}`;\n }\n\n private initializeDates() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = !this.enabled;\n this.startDate.isRequired = true;\n this.startDate.name = 'Od:';\n this.startDate.value = new Date(this.project.startDate);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.withTime = false;\n\n this.endDate = new DateInputModel();\n this.endDate.isReadOnly = true;\n this.endDate.isRequired = false;\n this.endDate.name = 'Do:';\n\n if (this.project.endDate) {\n\n this.endDate.value = new Date(this.project.endDate);\n this.endDate.valueStr = this.endDate.value.toDateString();\n this.endDate.withTime = false;\n this.endDate.isReadOnly = !this.enabled;\n }\n this.showDateClearButton = this.endDate.isReadOnly !== true;\n }\n\n public onIsUnlimitedDateChanged() {\n if (this.project.isDateUnlimited) {\n this.endDate = new DateInputModel();\n this.endDate.isReadOnly = true;\n this.project.endDate = null;\n }\n else {\n this.endDate = new DateInputModel();\n this.endDate.value = new Date();\n this.endDate.valueStr = this.endDate.value.toDateString();\n this.project.endDate = this.endDate.value;\n this.endDate.isReadOnly = false;\n }\n }\n\n public onStartDateChange(element, isValid: boolean) {\n if (!element || !isValid) {\n return;\n }\n\n this.project.startDate = this.startDate.value;\n this.startDate.valueStr = this.startDate.value.toDateString();\n if (this.project.endDate !== null && this.startDate.value > this.endDate.value) {\n this.project.endDate = this.project.startDate;\n this.endDate.value = this.startDate.value;\n this.endDate.valueStr = this.startDate.valueStr;\n }\n }\n\n public onEndDateChange(element, isValid: boolean) {\n if (!element || !isValid) {\n return;\n }\n\n this.project.endDate = this.endDate.value;\n this.endDate.valueStr = this.endDate.value.toDateString();\n if (this.startDate.value > this.endDate.value) {\n this.project.startDate = this.project.endDate;\n this.startDate.value = this.endDate.value;\n this.startDate.valueStr = this.endDate.valueStr;\n }\n }\n\n public openCustomerModal(customerName: string) {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz kontrahenta';\n dialogConf.maxwidth = '1200px';\n dialogConf.data = { selectList: true };\n if (customerName != null) {\n dialogConf.data.initialFilters = { code: customerName };\n }\n\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result != null) {\n this.project.customerId = result.id;\n this.project.customerName = result.name;\n this.project.receiverId = result.id;\n this.project.receiverName = result.name;\n }\n });\n }\n\n public openReceiverModal(receiverName: string) {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz płatnika';\n dialogConf.maxwidth = '1200px';\n dialogConf.data = { selectList: true };\n if (receiverName) {\n dialogConf.data.initialFilters = { code: receiverName };\n }\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result != null) {\n this.project.receiverId = result.id;\n this.project.receiverName = result.name;\n }\n });\n }\n\n onKeyDownCustomer() {\n this.oldCustomer = this.project.customerName;\n }\n\n public onKeyCustomer(event: any) {\n if (this.oldCustomer !== this.project.customerName) {\n this.project.customerId = null;\n this.project.receiverId = null;\n }\n if (event.key === 'Enter') {\n this.searchCustomer();\n }\n }\n\n onKeyDownReceiver() {\n this.oldReceiver = this.project.receiverName;\n }\n\n public onKeyReceiver(event: any) {\n if (this.oldReceiver !== this.project.receiverName) {\n this.project.receiverId = null;\n }\n if (event.key === 'Enter') {\n this.searchReceiver();\n }\n }\n\n private searchCustomer() {\n if (!this.project.customerName)\n return;\n this.customerRest.getCustomerRowsByName(this.project.customerName).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let customer = result[0];\n this.project.customerId = customer.id;\n this.project.customerName = customer.name;\n this.project.receiverId = customer.id;\n this.project.receiverName = customer.name;\n }\n else {\n this.openCustomerModal(this.project.customerName);\n }\n });\n }\n\n private searchReceiver() {\n if (!this.project.receiverName)\n return;\n this.customerRest.getCustomerRowsByName(this.project.receiverName).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let customer = result[0];\n this.project.receiverId = customer.id;\n this.project.receiverName = customer.name;\n }\n else {\n this.openReceiverModal(this.project.receiverName);\n }\n });\n }\n\n private addProjectWatcher() {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.multi;\n dialogConf.title = 'Wybierz obserwatora';\n dialogConf.maxwidth = '1200px';\n\n const ref = this.dialog.open(EmployeesListComponent, dialogConf);\n\n ref.afterClosed.subscribe((result: Employee[]) => {\n if (result) {\n result.forEach(element => {\n if (this.project.projectWatchers.every(x => x.employeeId != element.id)) {\n let watcher = new ProjectWatcher();\n watcher.id = 0;\n watcher.employee = element;\n watcher.employeeId = element.id;\n watcher.projectId = this.project.id\n watcher.projectWatcherName = `${element.name} ${element.surname}`;\n this.project.projectWatchers.push(watcher);\n }\n });\n this.projectWatchersGrid.refreshData();\n }\n });\n }\n\n private removeProjectWatcher(row: ProjectWatcher) {\n this.project.projectWatchers.splice(this.project.projectWatchers.indexOf(row), 1);\n if (this.project.id !== 0) {\n this.projectRest.removeProjectWatcher(row.id).subscribe((response: boolean) => {\n if (response)\n this.projectWatchersGrid.refreshAndLoadData();\n });\n }\n this.projectWatchersGrid.refreshData();\n }\n\n private checkSaveCondition() {\n return true;\n }\n\n public isInvalid() {\n if (this.checkSaveCondition()) {\n let isNumeratorInvalid = this.numeratorComponent.isInvalid();\n return this.projectForm.invalid || isNumeratorInvalid;\n }\n return false;\n }\n\n private onBudgetChange(event) {\n this.project.budget = event;\n }\n\n private onHourlyRateChange(event) {\n this.project.hourlyRate = event;\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n}\n","module.exports = \"
        \\n
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { GridMainFilter, GridSelection } from '../../core/shared/grid/grid.model';\nimport { ProjectsRest } from '../projects.rest';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-project-rows',\n templateUrl: './project-rows.component.html',\n styleUrls: ['./project-rows.component.scss']\n})\nexport class ProjectRowsComponent extends GridSelection implements OnInit, AfterViewInit {\n\n @Input() customerId: number;\n @Input() initialFilters: {numberString: ''};\n public viewEnable = true;\n public path: string;\n public mainFilter: GridMainFilter[];\n public dialogConfigData: any;\n\n private headers = [\n // { displayName: 'Numerator', propertyName: 'numberString', propertyType: 'string' },\n // { displayName: 'Nazwa etapu', propertyName: 'projectStepName', propertyType: 'string' },\n { displayName: 'Etap', propertyName: 'projectFullName', propertyType: 'string' },\n { displayName: 'Data rozpoczęcia etapu', propertyName: 'projectStepStartDate', propertyType: 'date', },\n { displayName: 'Data zakończenia etapu', propertyName: 'projectStepEndDate', propertyType: 'date' },\n { displayName: 'Kod kontrahenta', propertyName: 'customerCode', propertyType: 'string' },\n { displayName: 'Opis skrócony', propertyName: 'shortDescription', propertyType: 'string' }\n ];\n\n constructor(\n private projectRest: ProjectsRest,\n private router: Router,\n private route: ActivatedRoute\n ) {\n super();\n this._grid = this.grid;\n }\n\n @ViewChild(GridComponent) grid: GridComponent;\n\n ngOnInit() {\n this.mainFilter = new Array();\n this.setInitialFilters();\n this.path = `api/projectsrows/grid`;\n }\n\n ngAfterViewInit() {\n this.processDialogConfig();\n this.filter();\n }\n\n private setInitialFilters() {\n if (this.dialogConfigData != null && this.dialogConfigData['initialFilters']) {\n this.initialFilters = this.dialogConfigData['initialFilters'];\n }\n }\n\n private setFilter(internalName: string, value: any) {\n this.mainFilter.push({ internalName: internalName, value: value});\n this.grid.mainFilter = this.mainFilter;\n }\n\n private filter() {\n this.grid.mainFilter = this.mainFilter;\n if (this.customerId != null) {\n this.setFilter('CustomerId', this.customerId);\n }\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n private processDialogConfig() {\n if (this.dialogConfigData['customerId']) {\n this.customerId = this.dialogConfigData['customerId'];\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { ProjectsRest } from \"../projects.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { ProjectRowsComponent } from \"./project-rows.component\";\nimport { ProjectsRowsRouting } from \"./project-rows.routing\";\n\n@NgModule({\n imports: [\n CommonModule,\n ProjectsRowsRouting,\n SharedModule\n ],\n declarations: [ProjectRowsComponent],\n exports: [ProjectRowsComponent],\n providers : [ProjectsRest, LoginRest]\n })\n export class ProjectsRowsModule { }\n","import { Routes, RouterModule } from \"@angular/router\";\nimport { ProjectRowsComponent } from \"./project-rows.component\";\n\nconst routes: Routes = [\n // { path: '', component: ProjectRowsComponent }\n ];\n\n export const ProjectsRowsRouting = RouterModule.forChild(routes);\n","module.exports = \"
        \\n \\n \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\n \\n \\n
        \\n
        \\n \\n \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n\\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n {{ successMessage }}\\n \\n
        \\n \\n \\n \\n
        \\n
        \\n
        \\n
        \"","import { Component, OnInit, ViewChild, HostListener, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { ProjectsRest } from '../projects.rest';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ProjectListRow, ProjectType } from '../projects.model';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\nimport { GridMainFilter, GoupedColumn, GroupFunction, SelectionMode, GridSelection, SortedColumn } from '../../core/shared/grid/grid.model';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { ProjectService } from '../projects.service';\nimport { INgxSelectOption } from 'ngx-select-ex';\n\n@Component({\n selector: 'app-projects-list',\n templateUrl: './projects-list.component.html'\n})\nexport class ProjectsListComponent extends GridSelection implements OnInit, AfterViewInit, HasPermissions, GridParamsRestorable {\n previousMainFilters: any;\n readonly detailsPath: string = '';\n readonly detailsPaths: string[] = ['/projects/project', '/orders/order', '/consultations/consultation', '/services/service'];\n \n @ViewChild(GridComponent) grid: GridComponent;\n private path: string;\n public viewEnable = true;\n private projectTypes: ObjectToSelect[];\n private projectType: number;\n private projectManagers: ObjectToSelect[];\n private projectManager: number;\n private states: ObjectToSelect[];\n private state: number;\n private isRestoredMainFilter: boolean = false;\n public projectFiltersDisabled = false;\n public mainFilter: GridMainFilter[];\n public type: ProjectType;\n public initialFilters: any;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn;\n public permissions: Permissions;\n public editedItemId: number;\n public projectTypeName: string = '/';\n private otherProjectType: ObjectToSelect = {\n name: 'Inne',\n id: 0,\n guid: ''\n };\n\n public hideToggles: boolean;\n public expanded: boolean;\n\n private headers = [\n { displayName: 'Numer', propertyName: 'numberString', propertyType: 'string' },\n { displayName: 'Numer obcy', propertyName: 'foreignNumber', propertyType: 'string' },\n { displayName: 'Kontrahent', propertyName: 'customerCode', propertyType: 'string' },\n { displayName: 'Płatnik', propertyName: 'receiverCode', propertyType: 'string' },\n { displayName: 'Menadżer projektu', propertyName: 'projectManager', propertyType: 'string' },\n { displayName: 'Data startowa', propertyName: 'startDate', propertyType: 'date', },\n { displayName: 'Data końcowa', propertyName: 'endDate', propertyType: 'date' },\n { displayName: 'Status', propertyName: 'stateTranslation', propertyType: 'string' },\n { displayName: 'Opis skrócony', propertyName: 'shortDescription', propertyType: 'string' }\n ];\n\n constructor(\n private projectRest: ProjectsRest,\n private router: Router,\n private route: ActivatedRoute,\n private permissionService: PermissionsService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private spinnerService: SpinnerService,\n private projectService: ProjectService\n ) {\n super();\n this.onResize();\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions(\"Project\");\n this.type = this.route.snapshot.data.type;\n if (this.type !== ProjectType.Project) {\n this.projectFiltersDisabled = true;\n }\n\n this.mainFilter = new Array();\n this.isRestoredMainFilter = this.tryRestoreFiltersAndPage();\n this.setProjectsType();\n\n this.getProjectTypes();\n this.getProjectManagers();\n this.getStates();\n\n this.path = `api/projects/grid`;\n }\n\n ngAfterViewInit() {\n this._grid = this.grid;\n this.grid.mainFilter = this.mainFilter;\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n public getProjectTypes() {\n const action = this.projectRest.getProjectTypes;\n action.call(this.projectRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.projectTypes = result;\n\n this.projectTypes.push(this.otherProjectType);\n }\n });\n }\n\n private getDetailsPath() {\n switch (this.type) {\n case ProjectType.Project:\n return this.detailsPath;\n case ProjectType.Order:\n return \"/orders/order\";\n case ProjectType.Service:\n return \"/services/service\";\n case ProjectType.Consultations:\n return \"/consultations/consultation\";\n default:\n return this.detailsPath;\n }\n }\n\n private setProjectsType() {\n switch (this.type) {\n case ProjectType.Order: {\n this.lockProjectType('ZLC');\n break;\n }\n case ProjectType.Service: {\n this.lockProjectType('UMS');\n break;\n }\n case ProjectType.Consultations: {\n this.lockProjectType('KON');\n break;\n }\n }\n }\n\n private lockProjectType(value: string) {\n this.clearFilter('ProjectTypeName');\n this.mainFilter.push({ internalName: 'ProjectTypeName', value: value });\n\n this.projectTypeName = '/' + value;\n }\n\n public getProjectManagers() {\n const action = this.projectRest.getProjectManagers;\n action.call(this.projectRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.projectManagers = result;\n }\n });\n }\n\n public getStates() {\n const action = this.projectRest.getStates;\n action.call(this.projectRest).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.states = result;\n const active = Object.assign( new ObjectToSelect(), {\n id: 0,\n name: 'Aktywne',\n });\n this.states.unshift(active);\n }\n });\n }\n\n private clearFilter(internalName: string) {\n this.mainFilter.forEach((item, index) => {\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\n });\n }\n\n private setFilter(internalName: string, value: any) {\n if (internalName === 'ProjectTypeName') {\n value = this.projectTypes.find(x => x.id === value).name;\n }\n this.clearFilter(internalName);\n this.mainFilter.push({ internalName: internalName, value: value });\n }\n\n private filter() {\n if (this.type === ProjectType.Project) {\n this.clearFilter('ProjectTypeName');\n if (this.projectType != null) {\n this.setFilter('ProjectTypeName', this.projectType);\n }\n }\n\n this.clearFilter('StateId');\n if (this.state != null) {\n this.setFilter('StateId', this.state);\n }\n\n this.clearFilter('ProjectManager');\n if (this.projectManager != null) {\n this.setFilter('ProjectManager', this.projectManager);\n }\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n\n private clearFilters() {\n if ((this.projectType != null && this.type === ProjectType.Project) || this.state != null || this.projectManager != null) {\n if (this.type === ProjectType.Project) {\n this.projectType = undefined;\n this.clearFilter('ProjectTypeName');\n }\n\n this.projectManager = undefined;\n this.clearFilter('ProjectManager');\n\n this.state = undefined;\n this.clearFilter('StateId');\n\n this.grid.mainFilter = this.mainFilter;\n this.grid.refreshData();\n }\n }\n\n private onRowEdit(row: ProjectListRow) {\n this.projectService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id, this.type);\n switch (this.type) {\n case ProjectType.Project:\n this.router.navigate(['../projects/project', row.numberString], { queryParams: { id: row.id, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Order:\n this.router.navigate(['../orders/order', row.numberString], { queryParams: { id: row.id, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Consultations:\n this.router.navigate(['../consultations/consultation', row.numberString], { queryParams: { id: row.id, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Service:\n this.router.navigate(['../services/service', row.numberString], { queryParams: { id: row.id, projectType: this.type }, relativeTo: this.route });\n break;\n default:\n this.router.navigate(['../projects/project', row.numberString], { queryParams: { id: row.id, projectType: this.type }, relativeTo: this.route });\n break;\n }\n }\n\n private onRowAdd() {\n this.projectService.complete();\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, undefined, this.type);\n switch (this.type) {\n case ProjectType.Project:\n this.router.navigate(['../projects/project', \"new\"], { queryParams: { id: 0, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Order:\n this.router.navigate(['../orders/order', \"new\"], { queryParams: { id: 0, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Consultations:\n this.router.navigate(['../consultations/consultation', \"new\"], { queryParams: { id: 0, projectType: this.type }, relativeTo: this.route });\n break;\n case ProjectType.Service:\n this.router.navigate(['../services/service', \"new\"], { queryParams: { id: 0, projectType: this.type }, relativeTo: this.route });\n break;\n default:\n this.router.navigate(['../projects/project', \"new\"], { queryParams: { id: 0, projectType: this.type }, relativeTo: this.route });\n break;\n }\n }\n\n private onRowDelete(row: ProjectListRow) {\n let buttons = {\n yes: { text: \"Tak\", value: \"yes\" },\n no: { text: \"Nie\", value: \"no\" }\n }\n\n let message = `Czy na pewno usunąć projekt ${row.numberString}`;\n sweetAlert(message, {\n buttons: buttons\n }).then((value) => {\n switch (value) {\n case \"yes\":\n this.projectRest.checkHasProjectSteps(row.id).subscribe((hasSteps: boolean) => {\n if (hasSteps) {\n let message = `Projekt posiada etapy. Czy na pewno chcesz usunąć?`;\n sweetAlert(message, {\n buttons: buttons\n }).then((value) => {\n switch (value) {\n case \"yes\":\n this.deleteProject(row);\n break;\n }\n });\n } else {\n this.deleteProject(row);\n }\n });\n break;\n }\n });\n }\n\n private deleteProject(row: ProjectListRow) {\n this.projectRest.deleteProject(row.id).subscribe((result: boolean) => {\n if (result) {\n sweetAlert({ text: `Usunięto projekt ${row.numberString}` });\n this._grid.refreshData(false);\n }\n });\n }\n\n @HostListener('window:resize', ['$event'])\n private onResize(event?) {\n if (window.innerWidth <= 769) {\n this.hideToggles = true;\n this.expanded = false;\n } else {\n this.hideToggles = false;\n this.expanded = true;\n }\n }\n\n private tryRestoreFiltersAndPage(): boolean {\n let previousGridParams = this.gridParamsRestoringService.getPreviousProjectsGridParams(this.detailsPaths, this.type);\n if (!previousGridParams) {\n return false;\n }\n //console.log('previousGridParams:', previousGridParams);\n\n this.initialFilters = previousGridParams.initialFilters;\n this.initialSortedColumn = previousGridParams.sortedColumn;\n this.initialPageNumber = previousGridParams.initialPageNumber;\n this.initialPageSize = previousGridParams.initialPageSize;\n this.editedItemId = previousGridParams.editedItemId;\n\n return true;\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n private setFiltersFromRestoredData() {\n const projectTypeName = this.findFilter('ProjectTypeName');\n let projectType = null;\n if (projectTypeName) {\n projectType = this.projectTypes.find(x => x.name === projectTypeName).id;\n this.projectType = projectType;\n }\n\n const projectManager = this.findFilter('ProjectManager');\n this.projectManager = projectManager != null ? parseInt(projectManager) : null;\n\n const stateId = this.findFilter('StateId');\n this.state = stateId != null ? parseInt(stateId) : null;\n }\n\n private findFilter(internalName: string): string {\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ProjectsListRouting } from \"./projects-list.routing\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { ProjectsListComponent } from \"./projects-list.component\";\nimport { ProjectsRest } from \"../projects.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { ProjectService } from \"../projects.service\";\n\n@NgModule({\n imports: [\n CommonModule,\n ProjectsListRouting,\n SharedModule\n ],\n declarations: [ProjectsListComponent],\n exports: [ProjectsListComponent],\n providers : [ProjectsRest]\n })\n export class ProjectsListModule { }\n","import { Routes, RouterModule } from \"@angular/router\";\nimport { ProjectsListComponent } from \"./projects-list.component\";\nimport { ProjectDetailsModule } from \"../project-details/project-details.module\";\n\nconst routes: Routes = [\n { path: '', component: ProjectsListComponent },\n { path: 'project', loadChildren: () => ProjectDetailsModule },\n { path: 'order', loadChildren: () => ProjectDetailsModule },\n { path: 'service', loadChildren: () => ProjectDetailsModule },\n { path: 'consultation', loadChildren: () => ProjectDetailsModule }\n ];\n\n export const ProjectsListRouting = RouterModule.forChild(routes);\n","import { Numerator } from \"../numerator/numerator.model\";\nimport { Employee } from \"../company/employees/employee.model\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { ObjectState } from \"../configuration/object-states/object-states.model\";\nimport { AttachmentHolder, AttachmentInfo } from \"../core/shared/attachments/attachments.model\";\n\nexport class ProjectListRow {\n id: number;\n numberString: string;\n foreignNumber: string;\n customerId: number;\n customerCode: string;\n customerName: boolean;\n receiverId: number;\n receiverCode: string;\n projectManagerId: number;\n projectManager: string;\n startDate: Date;\n endDate: Date;\n objectStateId: number;\n stateInternalName: string;\n shortDescription: string;\n stateTranslation: string;\n}\n\n\nexport class Project implements Numerator, AttachmentHolder {\n numeratorType: string;\n year: number;\n serie: string;\n number: string;\n objectTypeId: number;\n isNew: boolean;\n isNumeratorReadOnly: boolean;\n isNumberReadOnly: boolean;\n id: number;\n numberString: string;\n foreignNumber: string;\n departmentId: number;\n customerId: number;\n receiverId: number;\n projectManagerId: number;\n startDate: Date;\n baseEndDate: Date;\n endDate: Date;\n objectStateId: number;\n shortDescription: string;\n description: string;\n systemVersionId: number;\n contactPersonId: number;\n isDateUnlimited: boolean;\n budget: number;\n hourlyRate: number;\n customerName: string;\n receiverName: string;\n projectWatchers: ProjectWatcher[];\n newProjectSteps: ProjectStep[];\n attachments: AttachmentInfo[];\n constructor(id: number) {\n this.id = id;\n }\n}\n\nexport class ProjectRow {\n id: number;\n projectId: number;\n numberString: string;\n projectStepName: string;\n projectStepStartDate: Date;\n projectStepEndDate: Date;\n projectStepBudget: number;\n projectStepTimeBudget: number;\n customerId: number;\n customerCode: string;\n customerName: string;\n shortDescription: string;\n}\n\nexport class ProjectWatcher {\n id: number;\n employeeId: number;\n projectId: number;\n projectWatcherName: string;\n employee: any;\n}\n\nexport class HistoryLog {\n oldValue: string;\n newValue: string;\n objectName: string;\n updatedBy: string;\n updatedDate: Date;\n}\n\nexport class ProjectStepRow {\n id: number;\n name: string;\n startDate: Date;\n endDate: Date;\n payerName: string;\n timeSpent: string;\n invoiceTime: string;\n objectStateName: string;\n isPublic: boolean;\n}\n\nexport class ProjectStep {\n id: number;\n projectId: number;\n name: string;\n description: string;\n budget: number;\n timeBudget: number;\n objectTypeId: number;\n customerId: number;\n objectStateId: number;\n invoiceNumber: string;\n payerId: number;\n areaPathId: number;\n isPublic: boolean;\n customerVstsEpicId: number;\n startDate: Date;\n endDate: Date;\n\n customerName: string;\n payerName: string;\n oldObjectState: string;\n objectStateName: string;\n}\n\nexport class ProjectStepIssue {\n name: string;\n startDate: Date;\n timeSpent: number;\n invoiceTime: number;\n assigneeName: string;\n elementAssignee: string;\n objectStateName: string;\n}\n\nexport class ProjectStepWorklog {\n issueName: string;\n number: string;\n employee: string;\n workDate: Date;\n timeSpent: number;\n invoiceTime: number;\n description: string;\n}\n\nexport enum ProjectType {\n Project,\n Order,\n Service,\n Consultations\n}","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../core/core/rest.service\";\nimport { ProjectListRow, Project, ProjectType, ProjectRow, ProjectWatcher, ProjectStep, ProjectStepIssue, ProjectStepWorklog, ProjectStepRow } from \"./projects.model\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\nimport { Employee } from \"../company/employees/employee.model\";\nimport { CustomersListModule } from \"../company/customers/customers-list/customers-list.module\";\n\n@Injectable()\nexport class ProjectsRest {\n constructor(private http: RestService) { }\n\n public getProjects(projectType: string, stateId: number, projectManagerId: string) {\n return this.http.post(`api/projects/grid/${projectType}/${stateId}/${projectManagerId}`, {});\n }\n\n public getProjectTypes() {\n return this.http.get('api/projects/getTypes');\n }\n\n public getProjectManagers() {\n return this.http.get('api/projects/getProjectManagers');\n }\n\n public getStates() {\n return this.http.get('api/projects/getStates');\n }\n\n public getProject(id: number, projectType: ProjectType) {\n return this.http.get(`api/projects/project/${id}/${projectType}`);\n }\n\n public getEmployees() {\n return this.http.get('api/projects/getEmployees');\n }\n\n public getSystemVersions() {\n return this.http.get('api/projects/getSystemVersions');\n }\n\n public saveProject(project: Project) {\n return this.http.post('api/projects/save', project);\n }\n\n public getProjectByName(data: {id: number, value: string}) {\n return this.http.post(`api/projects/rows`, data);\n }\n\n public getProjectByStepName(data: {id: number, value: string}) {\n return this.http.post(`api/projects/rows/step`, data);\n }\n\n public addProjectWatchers(projectId: number, selectedEmployees: number[]) {\n return this.http.post(`api/projects/addprojectwatchers/${projectId}`, selectedEmployees);\n }\n\n public removeProjectWatcher(projectWatcherId: number) {\n return this.http.post(`api/projects/removeprojectwatcher/${projectWatcherId}`, {});\n }\n\n public getProjectStep(id: number, projectId: number, customerId: number) {\n return this.http.get(`api/projects/getprojectstep/${id}/${projectId}/${customerId}`);\n }\n\n public deleteProjectStep(id: number) {\n return this.http.post(`api/projects/deleteprojectstep/${id}`, {});\n }\n\n public getCustomerVstsEpics(customerId: number) {\n return this.http.get(`api/projects/getcustomervstsepics/${customerId}`);\n }\n\n public getProjectStepStates() {\n return this.http.get('api/projects/getprojectstepstates');\n }\n\n public saveProjectStep(projectStep: ProjectStep) {\n return this.http.post('api/projects/saveprojectstep', projectStep);\n }\n\n public getRelatedProjectStepIssues(projectStepId: number) {\n return this.http.get(`api/projects/getprojectsteprelatedissues/${projectStepId}`);\n }\n\n public getRelatedProjectStepWorklogs(projectStepId: number) {\n return this.http.get(`api/projects/getprojectsteprelatedworklogs/${projectStepId}`);\n }\n public deleteProject(projectId: number) {\n return this.http.post(`api/projects/delete/${projectId}`, {});\n }\n\n public getProjectStepRows(projectId: number) {\n return this.http.post(`api/projects/getprojectsteps/${projectId}`, {});\n }\n\n public checkHasProjectSteps(projectId: number) {\n return this.http.post(`api/projects/checkhasprojectsteps/${projectId}`, {});\n }\n\n public getAreaPaths(){\n return this.http.get('api/projects/getareapaths');\n }\n\n public getCustomerProjectStepsForIssue(customerId: number, issueId: number) {\n return this.http.get(`api/projects/getCustomerProjectStepsForIssue/${customerId}/${issueId}`);\n }\n\n public getCustomerProjectStepsForWorklog(customerId: number, worklogId: number) {\n return this.http.get(`api/projects/getCustomerProjectStepsForWorklog/${customerId}/${worklogId}`);\n }\n\n public getProjectWatchersByProjectStepId(projectStepId: number) {\n return this.http.get(`api/projects/getProjectWatchersByProjectStepId/${projectStepId}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Project } from './projects.model';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class ProjectService {\n\n private projectSource = new BehaviorSubject(null);\n private selectedTabSource = new BehaviorSubject(null);\n currentProject = this.projectSource.asObservable();\n selectedTab = this.selectedTabSource.asObservable();\n\n constructor() { }\n \n public passProject(project: Project) {\n this.projectSource.next(project);\n }\n\n public setSelectedTab(selectedTab: number) {\n this.selectedTabSource.next(selectedTab);\n }\n\n public complete() {\n this.passProject(null);\n this.setSelectedTab(null);\n }\n}\n\n","module.exports = \"
        \\n
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n
        \\n\\n\\n
        \\n \\n \\n
        \\n
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { ActivatedRoute, Router, Params } from '@angular/router';\nimport { ProjectStepRow, ProjectType, Project, ProjectStep } from '../projects.model';\nimport { ProjectsRest } from '../projects.rest';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { ProjectService } from '../projects.service';\nimport { GoupedColumn, GroupFunction, SortedColumn, GridMainFilter } from '../../core/shared/grid/grid.model';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\n\n@Component({\n selector: 'app-projectstep-list',\n templateUrl: './projectstep-list.component.html',\n styleUrls: ['./projectstep-list.component.scss']\n})\nexport class ProjectStepListComponent implements OnInit, HasPermissions, GridParamsRestorable {\n public initialFilters: any = undefined;\n public initialPageNumber: number = 0;\n public initialPageSize: number;\n public initialSortedColumn: SortedColumn = undefined;\n public previousMainFilters: any = undefined;\n public detailsPath: string = \"\";\n public mainFilter = {};\n permissions: Permissions;\n private path: string;\n private projectType: ProjectType;\n private project: Project;\n private projectSteps: ProjectStepRow[];\n public editedItemId: number;\n @ViewChild(GridComponent) grid: GridComponent;\n\n\n \n private headers = [\n { displayName: 'Nazwa', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Data rozpoczęcia', propertyName: 'startDate', propertyType: 'date' },\n { displayName: 'Data końcowa', propertyName: 'endDate', propertyType: 'date' },\n { displayName: 'Płatnik', propertyName: 'payerName', propertyType: 'string' },\n { displayName: 'Czas pracy', propertyName: 'timeSpent', propertyType: 'number' },\n { displayName: 'Czas fakturowany', propertyName: 'invoiceTime', propertyType: 'number' },\n { displayName: 'Budżet', propertyName: 'budget', propertyType: 'number' },\n { displayName: 'Status', propertyName: 'objectStateName', propertyType: 'string' },\n { displayName: 'Publiczny', propertyName: 'isPublic', propertyType: 'bool' }\n ];\n\n private headers2 = [\n { displayName: 'Nazwa', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Data rozpoczęcia', propertyName: 'startDate', propertyType: 'date' },\n { displayName: 'Data końcowa', propertyName: 'endDate', propertyType: 'date' },\n { displayName: 'Płatnik', propertyName: 'payerName', propertyType: 'string' },\n { displayName: 'Czas pracy', propertyName: 'timeSpent', propertyType: 'number' },\n { displayName: 'Czas fakturowany', propertyName: 'invoiceTime', propertyType: 'number' }, \n { displayName: 'Status', propertyName: 'objectStateName', propertyType: 'string' },\n { displayName: 'Publiczny', propertyName: 'isPublic', propertyType: 'bool' } \n ];\n\n private columnsToGroup: GoupedColumn[] = [\n { name: 'timeSpent', func: GroupFunction.sum },\n { name: 'invoiceTime', func: GroupFunction.sum },\n { name: 'budget', func: GroupFunction.sum }\n ];\n\n private columnsToGroup2: GoupedColumn[] = [\n { name: 'timeSpent', func: GroupFunction.sum },\n { name: 'invoiceTime', func: GroupFunction.sum }\n ];\n\n constructor(\n private permissionService: PermissionsService,\n private router: Router,\n private route: ActivatedRoute,\n private rest: ProjectsRest,\n private projectService: ProjectService,\n private gridParamsRestoringService: GridParamsRestoringService) { }\n\n ngOnInit() {\n this.setPermissions('ProjectStep');\n this.route.queryParams.subscribe((params: Params) => {\n this.projectType = parseInt(params.projectType);\n this.tryRestoreFiltersAndPage();\n });\n }\n\n public setModel(project: Project, projectType: ProjectType, projectSteps: ProjectStepRow[]) {\n //this.path = `api/projects/getprojectsteps/${project.id}`;\n this.projectSteps = projectSteps;\n this.projectType = projectType;\n this.project = project;\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n private onRowEdit(row: ProjectStepRow) {\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id, undefined, true);\n this.projectService.passProject(this.project);\n this.projectService.setSelectedTab(2);\n switch (this.projectType) {\n case ProjectType.Project:\n this.router.navigate([\"projectstep\", row.name], { queryParams: { id: row.id, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Order:\n this.router.navigate([\"orderstep\", row.name], { queryParams: { id: row.id, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Consultations:\n this.router.navigate([\"consultationstep\", row.name], { queryParams: { id: row.id, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Service:\n this.router.navigate([\"servicestep\", row.name], { queryParams: { id: row.id, projectType: this.projectType }, relativeTo: this.route });\n break;\n default:\n this.router.navigate([\"projectstep\", row.name], { queryParams: { id: row.id, projectType: this.projectType }, relativeTo: this.route });\n break;\n }\n }\n\n private onRowAdd() {\n if (!this.project.customerId || this.project.customerId === 0 || !this.project.customerName) {\n sweetAlert(\"Należy wybrać kontrahenta\");\n return;\n }\n this.projectService.passProject(this.project);\n this.projectService.setSelectedTab(2);\n switch (this.projectType) {\n case ProjectType.Project:\n this.router.navigate([\"projectstep\", 'new'], { queryParams: { id: 0, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Order:\n this.router.navigate([\"orderstep\", 'new'], { queryParams: { id: 0, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Consultations:\n this.router.navigate([\"consultationstep\", 'new'], { queryParams: { id: 0, projectType: this.projectType }, relativeTo: this.route });\n break;\n case ProjectType.Service:\n this.router.navigate([\"servicestep\", 'new'], { queryParams: { id: 0, projectType: this.projectType }, relativeTo: this.route });\n break;\n default:\n this.router.navigate([\"projectstep\", 'new'], { queryParams: { id: 0, projectType: this.projectType }, relativeTo: this.route });\n break;\n }\n }\n\n private onRowDelete(row: ProjectStepRow) {\n let buttons = {\n yes: { text: \"Tak\", value: \"yes\" },\n no: { text: \"Nie\", value: \"no\" }\n }\n\n let message = `Czy na pewno usunąć etap projektu ${row.name}`;\n\n sweetAlert(message, {\n buttons: buttons\n }).then((value) => {\n switch (value) {\n case \"yes\":\n if (row.id <= 0) {\n sweetAlert(`Usunięto etap projektu ${row.name}`);\n this.projectSteps.splice(this.projectSteps.indexOf(row), 1);\n this.project.newProjectSteps.splice(this.projectSteps.indexOf(row), 1);\n this.grid.refreshData();\n }\n else {\n this.rest.deleteProjectStep(row.id).subscribe((result: boolean) => {\n if (result){\n sweetAlert(`Usunięto etap projektu ${row.name}`);\n this.projectSteps.splice(this.projectSteps.indexOf(row), 1);\n this.grid.refreshData();\n }\n });\n }\n break;\n }\n });\n }\n\n private tryRestoreFiltersAndPage() {\n let path = this.getDetailsPath();\n let gridParams = this.gridParamsRestoringService.getPreviousGridParams(path, true);\n if (!gridParams) {\n return;\n }\n this.initialFilters = gridParams.initialFilters;\n this.initialSortedColumn = gridParams.sortedColumn;\n this.previousMainFilters = gridParams.previousMainFilters;\n this.initialPageNumber = gridParams.initialPageNumber;\n this.initialPageSize = gridParams.initialPageSize;\n this.editedItemId = gridParams.editedItemId;\n if (gridParams.mainFilter) {\n this.mainFilter = gridParams.mainFilter;\n }\n }\n\n private getDetailsPath(): string {\n switch (this.projectType) {\n case ProjectType.Project:\n return \"projectstep\"\n case ProjectType.Order:\n return \"orderstep\"\n case ProjectType.Service:\n return \"servicestep\"\n case ProjectType.Consultations:\n return \"consultationstep\"\n default:\n break;\n }\n }\n}\n","module.exports = \"
        \\n \\n \\n \\n \\n \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n Uzupełnij wartość. \\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 Uzupełnij wartość. \\n Wciśnij 'enter'. \\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n \\n
        \\n \\n \\n Uzupełnij wartość. \\n Wciśnij 'enter'. \\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 Wartośc musi być pomiędzy {{budget.min}} a {{budget.max}}.\\n \\n \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n \\n \\n Wartośc musi być pomiędzy {{hourlyRate.min}} a {{hourlyRate.max}}.\\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
        \"","module.exports = \"\"","import { Component, OnInit, ViewChild, ViewChildren, QueryList, HostListener } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { ProjectStep, ProjectType, ProjectStepWorklog, ProjectStepIssue, Project } from '../projects.model';\nimport { DateInputModel } from '../../core/shared/date-input/date-input.model';\nimport { SelectionMode, GoupedColumn, GroupFunction } from '../../core/shared/grid/grid.model';\nimport { CustomersListComponent } from '../../company/customers/customers-list/customers-list.component';\nimport { CustomersRest } from '../../company/customers/customers.rest';\nimport { CustomerRow } from '../../company/customers/customers.model';\nimport { ValidatorFn, AbstractControl, NgForm } from '@angular/forms';\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\nimport { ProjectsRest } from '../projects.rest';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { RichTextComponent } from '../../core/shared/richtext/richtext.component';\nimport { MatTabChangeEvent } from '@angular/material';\nimport { GridComponent } from '../../core/shared/grid/grid.component';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { ProjectService } from '../projects.service';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { DialogService } from '../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../core/shared/dialog/dialog-config';\n\n@Component({\n selector: 'app-projectstep',\n templateUrl: './projectstep.component.html',\n styleUrls: ['./projectstep.component.scss']\n})\nexport class ProjectStepComponent implements OnInit, HasPermissions {\n\n permissions: Permissions;\n setPermissions(claimType: string): void {\n this.permissions = this.permissionService.getUserPermissions(claimType);\n }\n\n private projectStep: ProjectStep;\n private maxValue = 9999999999999;\n private startDate: DateInputModel;\n private endDate: DateInputModel;\n private descriptionView: RichTextComponent = null;\n private states: ObjectToSelect[];\n private customerVstsEpics: ObjectToSelect[];\n private areaPaths: ObjectToSelect[];\n private projectType: ProjectType;\n private project: Project;\n private worklogs: ProjectStepWorklog[];\n private issues: ProjectStepIssue[];\n private oldCustomer: string;\n private oldReceiver: string;\n private enabled: boolean;\n private isSaving = false;\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveProjectStep(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.saveProjectStep(); }, enabled: false, isForSelected: false };\n\n @ViewChild('projectStepForm') projectStepForm: NgForm;\n @ViewChild(GridComponent) issuesGrid: GridComponent;\n @ViewChild(GridComponent) worklogsGrid: GridComponent;\n @ViewChildren(RichTextComponent) projectStepDescriptionViews: QueryList;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (!this.projectStepForm.valid) {\n return;\n }\n this.saveProjectStep();\n event.preventDefault();\n }\n\n private issueHeaders = [\n { displayName: 'Tytuł', propertyName: 'name', propertyType: 'string' },\n { displayName: 'Data zgłoszenia', propertyName: 'startDate', propertyType: 'date', isInitSort: true },\n { displayName: 'Czas pracy', propertyName: 'timeSpent', propertyType: 'number' },\n { displayName: 'Czas fakturowany', propertyName: 'invoiceTime', propertyType: 'number' },\n { displayName: 'Osoba odpowiedzialna', propertyName: 'assigneeName', propertyType: 'string' },\n { displayName: 'Realizujący', propertyName: 'elementAssignee', propertyType: 'string' },\n { displayName: 'Status', propertyName: 'objectStateName', propertyType: 'string' }\n ];\n\n private worklogHeaders = [\n { displayName: 'Tytuł zgłoszenia', propertyName: 'issueName', propertyType: 'string' },\n { displayName: 'Numer', propertyName: 'number', propertyType: 'string' },\n { displayName: 'Pracownik', propertyName: 'employee', propertyType: 'string' },\n { displayName: 'Data pracy', propertyName: 'workDate', propertyType: 'date', isInitSort: true },\n { displayName: 'Czas pracy', propertyName: 'timeSpent', propertyType: 'number' },\n { displayName: 'Czas fakturowany', propertyName: 'invoiceTime', propertyType: 'number' },\n { displayName: 'Opis', propertyName: 'description', propertyType: 'string' }\n ];\n\n\n constructor(private router: Router,\n private route: ActivatedRoute,\n private permissionService: PermissionsService,\n public dialog: DialogService,\n private customerRest: CustomersRest,\n private projectsRest: ProjectsRest,\n private spinnerService: SpinnerService,\n private projectService: ProjectService,\n private gridParamsRestoringService: GridParamsRestoringService) { }\n\n ngOnInit() {\n this.setPermissions(\"ProjectStep\");\n this.projectsRest.getProjectStepStates().subscribe((data: ObjectToSelect[]) => {\n this.states = data;\n });\n this.getAreaPaths();\n this.projectService.currentProject.subscribe((project: Project) => {\n this.project = project;\n if (this.project) {\n this.route.queryParams.subscribe(params => {\n let id: any;\n id = parseInt(params.id);\n let projectType = parseInt(params.projectType) as ProjectType;\n this.projectType = projectType;\n if (this.project.isNew && this.project.newProjectSteps && id !== 0) {\n this.projectStep = this.project.newProjectSteps.find(x => x.id === id);\n this.enabled = this.permissions.canEdit;\n this.initializeDates();\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = this.enabled;\n this.saveButton.enabled = this.enabled;\n }\n else {\n this.projectsRest.getProjectStep(id, this.project.id, this.project.customerId).subscribe((result: ProjectStep) => {\n this.projectStep = result;\n this.enabled = this.permissions.canEdit;\n this.initializeDates();\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = this.enabled;\n this.saveButton.enabled = this.enabled;\n });\n }\n });\n } else {\n this.router.navigate(['../../../../'], { relativeTo: this.route });\n }\n }).unsubscribe();\n }\n\n private initializeDates() {\n this.startDate = new DateInputModel();\n this.startDate.isReadOnly = !this.enabled;\n this.startDate.isRequired = true;\n this.startDate.name = 'Od:';\n this.startDate.value = new Date(this.projectStep.startDate);\n this.startDate.valueStr = this.startDate.value.toDateString();\n this.startDate.withTime = false;\n\n this.endDate = new DateInputModel();\n this.endDate.isReadOnly = true;\n this.endDate.isRequired = false;\n this.endDate.name = 'Do:';\n\n if (this.projectStep.endDate) {\n\n this.endDate.value = new Date(this.projectStep.endDate);\n this.endDate.valueStr = this.endDate.value.toDateString();\n this.endDate.withTime = false;\n this.endDate.isReadOnly = !this.enabled;\n }\n }\n public onStartDateChange(element, isValid: boolean) {\n if (!element || !isValid) {\n return;\n }\n\n this.projectStep.startDate = this.startDate.value;\n this.startDate.valueStr = this.startDate.value.toDateString();\n if (this.projectStep.endDate !== null && this.startDate.value > this.endDate.value) {\n this.projectStep.endDate = this.projectStep.startDate;\n this.endDate.value = this.startDate.value;\n this.endDate.valueStr = this.startDate.valueStr;\n }\n }\n\n public onEndDateChange(element, isValid: boolean) {\n if (!element || !isValid) {\n return;\n }\n\n this.projectStep.endDate = this.endDate.value;\n this.endDate.valueStr = this.endDate.value.toDateString();\n if (this.startDate.value > this.endDate.value) {\n this.projectStep.startDate = this.projectStep.endDate;\n this.startDate.value = this.endDate.value;\n this.startDate.valueStr = this.endDate.valueStr;\n }\n }\n\n public openCustomerModal(customerName: string) {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz kontrahenta';\n dialogConf.maxwidth = '1200px';\n dialogConf.data = { selectList: true };\n if (customerName) {\n dialogConf.data.initialFilters = { code: customerName };\n }\n\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result) {\n this.projectStep.customerId = result.id;\n this.projectStep.customerName = result.name;\n this.projectStep.payerId = result.id;\n this.projectStep.payerName = result.name;\n this.getCustomerVstsEpics();\n }\n });\n }\n\n public openReceiverModal(customerName: string) {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz płatnika';\n dialogConf.maxwidth = '1200px';\n dialogConf.data = { selectList: true };\n if (customerName) {\n dialogConf.data.initialFilters = { code: customerName };\n }\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result) {\n this.projectStep.payerId = result.id;\n this.projectStep.payerName = result.name;\n }\n });\n }\n\n public tabChanged(tabChangeEvent: MatTabChangeEvent): void {\n if (tabChangeEvent.index === 1) {\n }\n else if (tabChangeEvent.index === 2) {\n this.getDescription();\n this.projectStepDescriptionViews.notifyOnChanges();\n }\n else if (tabChangeEvent.index === 3) {\n if (this.issues === undefined || this.issues === null) {\n this.spinnerService.show();\n this.projectsRest.getRelatedProjectStepIssues(this.projectStep.id).subscribe((result: ProjectStepIssue[]) => {\n this.issues = result;\n this.spinnerService.hide();\n });\n }\n }\n else if (tabChangeEvent.index === 4) {\n if (this.worklogs === undefined || this.worklogs === null) {\n this.spinnerService.show();\n this.projectsRest.getRelatedProjectStepWorklogs(this.projectStep.id).subscribe((result: ProjectStepWorklog[]) => {\n this.worklogs = result;\n this.spinnerService.hide();\n });\n }\n }\n this.saveDescription();\n }\n\n private getDescription() {\n this.projectStepDescriptionViews.changes.subscribe((nv: QueryList) => {\n if (this.descriptionView == null) {\n this.descriptionView = nv.first;\n }\n if (this.projectStep.id !== 0 || this.projectStep.description) {\n this.descriptionView.setHtml(this.projectStep.description);\n if (!this.enabled)\n this.descriptionView.disableContol();\n } else {\n this.descriptionView.setHtml('');\n if (!this.enabled)\n this.descriptionView.disableContol();\n }\n });\n }\n\n public saveDescription() {\n if (this.descriptionView == null) {\n return;\n }\n this.projectStep.description = this.descriptionView.getHtml();\n }\n\n public onKeyCustomer(event: any) {\n if (this.oldCustomer !== this.project.customerName) {\n this.projectStep.customerId = null;\n this.projectStep.payerId = null;\n }\n if (event.key === 'Enter') {\n this.searchCustomer();\n }\n }\n\n onKeyDownCustomer() {\n this.oldCustomer = this.project.customerName;\n }\n\n public onKeyReceiver(event: any) {\n if (this.oldReceiver !== this.project.customerName) {\n this.projectStep.payerId = null;\n }\n if (event.key === 'Enter') {\n this.searchReceiver();\n }\n }\n\n onKeyDownReceiver() {\n this.oldReceiver = this.project.receiverName;\n }\n\n private validateIds(controlValue: number): ValidatorFn {\n let isNull = false\n if (controlValue === null) {\n isNull = true;\n }\n return (control: AbstractControl): { [key: string]: any } | null => {\n return isNull ? { 'otherNotNull': { value: true } } : null;\n };\n }\n\n private searchCustomer() {\n if (!this.projectStep.customerName)\n return;\n this.customerRest.getCustomerRowsByName(this.projectStep.customerName).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let customer = result[0];\n this.projectStep.customerId = customer.id;\n this.projectStep.customerName = customer.name;\n this.projectStep.payerId = customer.id;\n this.projectStep.payerName = customer.name;\n this.getCustomerVstsEpics();\n }\n else {\n this.openCustomerModal(this.projectStep.customerName);\n }\n });\n }\n\n private searchReceiver() {\n if (!this.projectStep.payerName)\n return;\n this.customerRest.getCustomerRowsByName(this.projectStep.payerName).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let customer = result[0];\n this.projectStep.payerId = customer.id;\n this.projectStep.payerName = customer.name;\n }\n else {\n this.openReceiverModal(this.projectStep.payerName);\n }\n });\n }\n\n private getCustomerVstsEpics() {\n this.projectsRest.getCustomerVstsEpics(this.projectStep.customerId).subscribe((result: ObjectToSelect[]) => {\n this.customerVstsEpics = result;\n });\n }\n\n private getAreaPaths() {\n this.projectsRest.getAreaPaths().subscribe((areaPaths: ObjectToSelect[]) => {\n this.areaPaths = areaPaths;\n });\n }\n\n private checkSaveCondition() {\n return true;\n }\n\n public isInvalid() {\n if (this.checkSaveCondition()) {\n return this.projectStepForm.invalid;\n }\n return false;\n }\n\n private saveProjectStep() {\n if (this.isInvalid()) {\n sweetAlert('Dane są niekompletne, nie można zapisać');\n return;\n }\n\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n if (this.project.isNew) {\n if (!this.project.newProjectSteps)\n this.project.newProjectSteps = new Array();\n if (!this.project.newProjectSteps.find(x => x.id === this.projectStep.id)) {\n this.projectStep.id = (this.project.newProjectSteps.length !== 0 ? Math.min.apply(Math, this.project.newProjectSteps.map(function (o) { return o.id; })) : 0) - 1;\n this.project.newProjectSteps.push(this.projectStep);\n this.gridParamsRestoringService.saveAddingNewRowInfo(this.projectStep.id, undefined, true);\n }\n this.projectService.passProject(this.project);\n this.isSaving = false;\n this.close();\n }\n else {\n this.projectsRest.saveProjectStep(this.projectStep).subscribe(result => {\n if (result) {\n if (this.projectStep.id === 0) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(result, undefined, true);\n }\n this.projectService.passProject(this.project);\n this.isSaving = false;\n this.close();\n }\n });\n }\n }\n\n private close() {\n this.router.navigate(['../../'], { queryParams: { id: this.project.id, projectType: this.projectType }, relativeTo: this.route });\n\n }\n\n private onStatusChange(event) {\n this.projectStep.objectStateName = event[0].text;\n }\n\n private onBudgetChange(event) {\n this.projectStep.budget = event;\n }\n\n private onHourlyRateChange(event) {\n this.projectStep.timeBudget = event;\n }\n\n private columnsToGroup: GoupedColumn[] = [\n { name: 'timeSpent', func: GroupFunction.sum },\n { name: 'invoiceTime', func: GroupFunction.sum }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ProjectStepComponent } from './projectstep.component';\nimport { ProjectStepRoutes } from './projectstep.routing';\nimport { SharedModule } from '../../core/shared/shared.module';\nimport { CustomersListModule } from '../../company/customers/customers-list/customers-list.module';\nimport { EmployeesModule } from '../../company/employees/employes.module';\nimport { EmployeesListComponent } from '../../company/employees/employee-list/employees-list.component';\nimport { CustomersListComponent } from '../../company/customers/customers-list/customers-list.component';\n\n@NgModule({\n imports: [CommonModule, ProjectStepRoutes, SharedModule, CustomersListModule, EmployeesModule],\n entryComponents: [CustomersListComponent, EmployeesListComponent],\n declarations: [ProjectStepComponent],\n exports: [ProjectStepComponent]\n})\nexport class ProjectStepModule { }\n","import { Routes, RouterModule } from '@angular/router';\nimport { ProjectStepComponent } from './projectstep.component';\n\nconst routes: Routes = [\n { path: '', component: ProjectStepComponent},\n { path: 'new', component: ProjectStepComponent},\n { path: ':name', component: ProjectStepComponent }\n];\n\nexport const ProjectStepRoutes = RouterModule.forChild(routes);\n","module.exports = \"
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n \\r\\n \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \\r\\n
        \"","import {Component, ViewChild, OnInit, ChangeDetectorRef, AfterViewInit} from '@angular/core';\r\nimport { RcpReportRest } from './rcpreport.rest';\r\nimport { SpinnerService } from '../core/services/spinner-handler/spinner-handler.service';\r\nimport { GridComponent } from '../core/shared/grid/grid.component';\r\nimport { GoupedColumn, GroupFunction } from '../core/shared/grid/grid.model';\r\nimport { RcpReportRow } from './rcpreport.model';\r\n\r\n@Component({\r\n selector: 'app-rcpreport',\r\n templateUrl: './rcpreport.component.html',\r\n styleUrls: []\r\n })\r\nexport class RcpReportComponent {\r\n @ViewChild(GridComponent) grid: GridComponent;\r\n\r\n private headers = [\r\n { displayName: 'Kontrahent', propertyName: 'customerName', propertyType: 'string' },\r\n { displayName: 'Płatnik', propertyName: 'payerName', propertyType: 'string' },\r\n { displayName: 'Zgłoszenie', propertyName: 'issueTitle', propertyType: 'string' },\r\n { displayName: 'Zgłaszający', propertyName: 'reporterName', propertyType: 'string' },\r\n { displayName: 'Data rozpoczęcia pracy', propertyName: 'workStartDate', propertyType: 'date', isInitSort: true },\r\n { displayName: 'Opis', propertyName: 'description', propertyType: 'string', showTooltip: true },\r\n { displayName: 'Czas pracy', propertyName: 'invoiceTime', propertyType: 'number' },\r\n ];\r\n\r\n private columnsToGroup: GoupedColumn[] = [\r\n { name: 'invoiceTime', func: GroupFunction.sum }\r\n ];\r\n\r\n public rcpReportRows: RcpReportRow[];\r\n public isCurrentMonth: boolean = true;\r\n public monthFilterText: string = \"bieżący\";\r\n public expanded: boolean = true;\r\n\r\n constructor(\r\n private rest: RcpReportRest\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.rest.getRcpReport(this.isCurrentMonth).subscribe(r => {\r\n this.rcpReportRows = r;\r\n this.grid.refreshData();\r\n });\r\n }\r\n\r\n public onCurrentMonthChanged(){\r\n console.log(this.isCurrentMonth);\r\n this.monthFilterText = this.isCurrentMonth ? \"bieżący\" : \"poprzedni\";\r\n this.rest.getRcpReport(this.isCurrentMonth).subscribe(r => {\r\n this.rcpReportRows = r;\r\n this.grid.refreshData();\r\n });\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SharedModule } from '../core/shared/shared.module';\r\nimport { RcpReportRest } from './rcpreport.rest';\r\nimport { RcpReportComponent } from './rcpreport.component';\r\nimport { RcpReportRouting } from './rcpreport.routing';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RcpReportRouting,\r\n SharedModule\r\n ],\r\n exports: [\r\n ],\r\n declarations: [\r\n RcpReportComponent],\r\n providers: [RcpReportRest],\r\n})\r\nexport class RcpReportModule { }","import { Injectable } from \"@angular/core\";\r\nimport { RestService } from \"../core/core/rest.service\";\r\nimport { RcpReportRow } from \"./rcpreport.model\";\r\n\r\n@Injectable()\r\nexport class RcpReportRest {\r\n constructor(private http: RestService) { }\r\n\r\n public getRcpReport(isCurrentMonth: boolean = true){\r\n return this.http.get(`api/extRcpReport/${isCurrentMonth ? 1 : 0}`);\r\n }\r\n}","import { Routes, RouterModule } from '@angular/router';\r\nimport { RcpReportComponent } from './rcpreport.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: RcpReportComponent } \r\n];\r\n\r\nexport const RcpReportRouting = RouterModule.forChild(routes);","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class ColorsService {\n\n APP_COLORS = {\n 'primary': '#5d9cec',\n 'success': '#27c24c',\n 'info': '#23b7e5',\n 'warning': '#ff902b',\n 'danger': '#f05050',\n 'inverse': '#131e26',\n 'green': '#37bc9b',\n 'pink': '#f532e5',\n 'purple': '#7266ba',\n 'dark': '#3a3f51',\n 'yellow': '#fad732',\n 'gray-darker': '#232735',\n 'gray-dark': '#3a3f51',\n 'gray': '#dde6e9',\n 'gray-light': '#e4eaec',\n 'gray-lighter': '#edf1f2'\n };\n\n constructor() { }\n\n byName(name) {\n // console.log(name +' -> ' + this.APP_COLORS[name])\n return (this.APP_COLORS[name] || '#fff');\n }\n\n}\n","import { Directive, ElementRef } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: '[checkAll]'\n})\nexport class CheckallDirective {\n\n constructor(public el: ElementRef) {\n let $element = $(el.nativeElement);\n\n $element.on('change', function() {\n let index = $element.index() + 1,\n checkbox = $element.find('input[type=\"checkbox\"]'),\n table = $element.parents('table');\n // Make sure to affect only the correct checkbox column\n table.find('tbody > tr > td:nth-child(' + index + ') input[type=\"checkbox\"]')\n .prop('checked', checkbox[0].checked);\n\n });\n\n }\n\n}\n","import { OnInit, OnChanges, Directive, Input, SimpleChange, ElementRef } from '@angular/core';\n\ndeclare var $: any;\nconst EasyPieChart = require('easy-pie-chart');\n\n@Directive({\n selector: '[easypiechart]'\n})\nexport class EasypiechartDirective implements OnInit, OnChanges {\n\n /**\n * default easy pie chart options\n * @type {Object}\n */\n public defaultOptions = {\n barColor: '#ef1e25',\n trackColor: '#f9f9f9',\n scaleColor: '#dfe0e0',\n scaleLength: 5,\n lineCap: 'round',\n lineWidth: 3,\n size: 110,\n rotate: 0,\n animate: {\n duration: 1000,\n enabled: true\n }\n };\n\n public pieChart: any;\n @Input() percent;\n @Input() options;\n\n constructor(public element: ElementRef) {\n this.percent = this.percent || 0;\n this.options = $.extend({}, this.defaultOptions, this.options);\n }\n\n ngOnInit() {\n if(EasyPieChart) {\n this.pieChart = new EasyPieChart(this.element.nativeElement, this.options);\n this.pieChart.update(this.percent);\n }\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\n if (this.pieChart && changes['percent']) {\n this.pieChart.update(this.percent);\n }\n }\n\n}\n","import { OnInit, OnChanges, OnDestroy, Directive, ElementRef, Input, Output, SimpleChange, EventEmitter } from '@angular/core';\n\ndeclare var $: any;\n\n@Directive({\n selector: '[flot]'\n})\nexport class FlotDirective implements OnInit, OnChanges, OnDestroy {\n\n element: any;\n plot: any;\n width: any;\n\n @Input() dataset: any;\n @Input() options: any;\n @Input() attrWidth: any;\n @Input() height: number;\n @Input() series: any;\n\n @Output() ready = new EventEmitter();\n\n constructor(public el: ElementRef) {\n this.element = $(this.el.nativeElement);\n\n if (!$.plot) {\n console.log('Flot chart no available.');\n }\n\n this.plot = null;\n }\n\n ngOnInit() { }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\n if (!$.plot) {\n return;\n }\n if (changes['dataset']) {\n this.onDatasetChanged(this.dataset);\n }\n if (changes['series']) {\n this.onSerieToggled(this.series);\n }\n }\n\n init() {\n\n const heightDefault = 220;\n\n this.width = this.attrWidth || '100%';\n this.height = this.height || heightDefault;\n\n this.element.css({\n width: this.width,\n height: this.height\n });\n\n let plotObj;\n if (!this.dataset || !this.options) {\n return;\n }\n plotObj = $.plot(this.el.nativeElement, this.dataset, this.options);\n if (this.ready) {\n this.ready.next({ plot: plotObj });\n }\n return plotObj;\n }\n\n onDatasetChanged(dataset) {\n if (this.plot) {\n this.plot.setData(dataset);\n this.plot.setupGrid();\n return this.plot.draw();\n } else {\n this.plot = this.init();\n this.onSerieToggled(this.series);\n return this.plot;\n }\n }\n\n onSerieToggled(series) {\n if (!this.plot || !series) {\n return;\n }\n let someData = this.plot.getData();\n for (let sName in series) {\n series[sName].forEach(toggleFor(sName));\n }\n\n this.plot.setData(someData);\n this.plot.draw();\n\n function toggleFor(sName) {\n return function(s, i) {\n if (someData[i] && someData[i][sName]) {\n someData[i][sName].show = s;\n }\n };\n }\n }\n\n ngOnDestroy() {\n if (this.plot) {\n this.plot.shutdown();\n }\n }\n}\n","import { Directive, Input, OnInit, OnDestroy, ElementRef, OnChanges, SimpleChange } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: '[jqcloud]'\n})\nexport class JqcloudDirective implements OnInit, OnDestroy, OnChanges {\n\n @Input() words;\n @Input() width;\n @Input() height;\n @Input() steps;\n $elem: any;\n options: any;\n initialized = false; // flag to not update before plugin was initialized\n\n constructor(element: ElementRef) {\n this.$elem = $(element.nativeElement);\n this.options = $.fn.jQCloud.defaults.get();\n }\n\n ngOnInit() {\n let opts: any = {};\n if (this.width) {\n opts.width = this.width;\n }\n if (this.height) {\n opts.height = this.height;\n }\n if (this.steps) {\n opts.steps = this.steps;\n }\n\n $.extend(this.options, opts);\n this.$elem.jQCloud(this.words, opts);\n this.initialized = true;\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\n if (this.initialized && this.words && changes['words']) {\n this.$elem.jQCloud('update', this.words);\n }\n }\n\n ngOnDestroy() {\n this.$elem.jQCloud('destroy');\n }\n}\n","import { OnInit, OnDestroy, Directive, Input, ElementRef } from '@angular/core';\nimport * as moment from 'moment';\n\n@Directive({\n selector: '[now]'\n})\nexport class NowDirective implements OnInit, OnDestroy {\n\n @Input() format;\n intervalId;\n\n constructor(public element: ElementRef) { }\n\n ngOnInit() {\n this.updateTime();\n this.intervalId = setInterval(this.updateTime.bind(this), 1000);\n }\n\n updateTime() {\n let dt = moment().format(this.format);\n this.element.nativeElement.innerHTML = dt;\n }\n\n ngOnDestroy() {\n clearInterval(this.intervalId);\n }\n\n}\n","import { OnInit, Directive, Input, ElementRef } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: 'scrollable'\n})\nexport class ScrollableDirective implements OnInit {\n\n @Input() height: number;\n defaultHeight = 250;\n\n constructor(public element: ElementRef) { }\n\n ngOnInit() {\n $(this.element.nativeElement).slimScroll({\n height: (this.height || this.defaultHeight)\n });\n }\n\n}\n","import { OnInit, OnDestroy, Directive, Input, ElementRef } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: '[sparkline]'\n})\nexport class SparklineDirective implements OnInit, OnDestroy {\n\n @Input() sparkline;\n @Input() values;\n\n // generate a unique resize event so we can detach later\n private resizeEventId = 'resize.sparkline' + 1324;\n private $element;\n\n constructor(private el: ElementRef) {\n this.$element = $(el.nativeElement);\n }\n\n ngOnInit() {\n this.initSparkLine();\n }\n\n initSparkLine() {\n let options = this.sparkline,\n data = this.$element.data();\n\n if (!options) {// if no scope options, try with data attributes\n options = data;\n }\n else {\n if (data) {// data attributes overrides scope options\n options = $.extend({}, options, data);\n }\n }\n\n options.type = options.type || 'bar'; // default chart is bar\n options.disableHiddenCheck = true;\n\n this.runSparkline(options);\n\n if (options.resize) {\n $(window).on(this.resizeEventId, () => {\n this.runSparkline(options);\n });\n }\n }\n\n runSparkline(options) {\n if(this.values) {\n if( typeof this.values === 'string')\n this.values = this.values.split(','); // assume comma separated string\n this.$element.sparkline(this.values, options);\n }\n else {\n this.$element.sparkline('html', options);\n }\n }\n\n ngOnDestroy() {\n $(window).off(this.resizeEventId);\n }\n}\n","import { OnInit, Directive, Input, ElementRef, OnDestroy } from '@angular/core';\ndeclare var $: any;\n\n@Directive({\n selector: '[vectormap]'\n})\nexport class VectormapDirective implements OnInit, OnDestroy {\n\n @Input() mapHeight: number;\n @Input() mapName: any;\n @Input() mapOptions: any;\n @Input() seriesData: any;\n @Input() markersData: any;\n\n $element: any;\n\n constructor(public element: ElementRef) { }\n\n ngOnInit() {\n\n this.$element = $(this.element.nativeElement);\n this.$element.css('height', this.mapHeight);\n\n if (!this.$element.length || !this.$element.vectorMap) {\n return;\n }\n\n this.$element.vectorMap({\n map: this.mapName,\n backgroundColor: this.mapOptions.bgColor,\n zoomMin: 1,\n zoomMax: 8,\n zoomOnScroll: false,\n regionStyle: {\n initial: {\n 'fill': this.mapOptions.regionFill,\n 'fill-opacity': 1,\n 'stroke': 'none',\n 'stroke-width': 1.5,\n 'stroke-opacity': 1\n },\n hover: {\n 'fill-opacity': 0.8\n },\n selected: {\n fill: 'blue'\n },\n selectedHover: {\n }\n },\n focusOn: { x: 0.4, y: 0.6, scale: this.mapOptions.scale },\n markerStyle: {\n initial: {\n fill: this.mapOptions.markerColor,\n stroke: this.mapOptions.markerColor\n }\n },\n onRegionLabelShow: (e, el, code) => {\n if (this.seriesData && this.seriesData[code]) {\n el.html(el.html() + ': ' + this.seriesData[code] + ' visitors');\n }\n },\n markers: this.markersData,\n series: {\n regions: [{\n values: this.seriesData,\n scale: this.mapOptions.scaleColors,\n normalizeFunction: 'polynomial'\n }]\n },\n });\n }\n\n ngOnDestroy() {\n this.$element.vectorMap('get', 'mapObject').remove();\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ToasterModule } from 'angular2-toaster';\n\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,\n} from '@angular/material';\n\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\nimport { AlertModule } from 'ngx-bootstrap/alert';\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { RatingModule } from 'ngx-bootstrap/rating';\nimport { TabsModule } from 'ngx-bootstrap/tabs';\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { DatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\n\nimport { FlotDirective } from './directives/flot/flot.directive';\nimport { SparklineDirective } from './directives/sparkline/sparkline.directive';\nimport { EasypiechartDirective } from './directives/easypiechart/easypiechart.directive';\nimport { ColorsService } from './colors/colors.service';\nimport { CheckallDirective } from './directives/checkall/checkall.directive';\nimport { VectormapDirective } from './directives/vectormap/vectormap.directive';\nimport { NowDirective } from './directives/now/now.directive';\nimport { ScrollableDirective } from './directives/scrollable/scrollable.directive';\nimport { JqcloudDirective } from './directives/jqcloud/jqcloud.directive';\nimport { DeleteCommaPipe } from '../core/shared/spinedit/delete-comma-pipe.pipe';\n\n// https://angular.io/styleguide#!#04-10\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n AccordionModule.forRoot(),\n AlertModule.forRoot(),\n ButtonsModule.forRoot(),\n CarouselModule.forRoot(),\n CollapseModule.forRoot(),\n DatepickerModule.forRoot(),\n BsDatepickerModule.forRoot(),\n BsDropdownModule.forRoot(),\n ModalModule.forRoot(),\n PaginationModule.forRoot(),\n ProgressbarModule.forRoot(),\n RatingModule.forRoot(),\n TabsModule.forRoot(),\n TimepickerModule.forRoot(),\n TooltipModule.forRoot(),\n PopoverModule.forRoot(),\n TypeaheadModule.forRoot(),\n ToasterModule,\n // Material Modules\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatTableModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSortModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatNativeDateModule,\n MatStepperModule\n ],\n providers: [\n ColorsService\n ],\n declarations: [\n FlotDirective,\n SparklineDirective,\n EasypiechartDirective,\n CheckallDirective,\n VectormapDirective,\n NowDirective,\n ScrollableDirective,\n JqcloudDirective\n ],\n exports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n RouterModule,\n AccordionModule,\n AlertModule,\n ButtonsModule,\n CarouselModule,\n CollapseModule,\n DatepickerModule,\n BsDatepickerModule,\n BsDropdownModule,\n ModalModule,\n PaginationModule,\n ProgressbarModule,\n RatingModule,\n TabsModule,\n TimepickerModule,\n TooltipModule,\n PopoverModule,\n TypeaheadModule,\n ToasterModule,\n FlotDirective,\n SparklineDirective,\n EasypiechartDirective,\n CheckallDirective,\n VectormapDirective,\n NowDirective,\n ScrollableDirective,\n JqcloudDirective,\n // Material Modules\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatTableModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSortModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatNativeDateModule,\n MatStepperModule\n ]\n})\n\n// https://github.com/ocombe/ng2-translate/issues/209\nexport class SharedTemplateModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: SharedTemplateModule\n };\n }\n}\n","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #072039;\\n border-color: #072039; }\\n.page-link:hover {\\n color: #01070c !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #186dc1 !important; }\\n.mat-ink-bar {\\n background-color: #072039 !important; }\\napp-tabmenu .btn-link {\\n color: #01070c !important; }\\napp-tabmenu .btn-main {\\n background-color: #01070c !important;\\n border-color: #01070c !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #072039; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #0d3a66 !important;\\n border-color: #0d3a66 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #0b3259 !important;\\n border-color: #0b3259 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #082542 !important;\\n border-color: #082542 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #2786e5 !important; }\\n.switch input:checked + span {\\n background-color: #01070c !important;\\n border-color: #01070c !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #072039; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #fff; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #072039;\\n background-image: linear-gradient(to right, #072039 0%, #072039 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #04111e inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #55a0ea; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #072039; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #072039;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #55a0ea; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #55a0ea; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #072039; }\\n.sidebar-nav > li.active {\\n border-left-color: #55a0ea; }\\n.sidebar-subnav {\\n background-color: #fff; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #55a0ea; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #072039; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #072039;\\n background-color: #072039; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #43A047;\\n border-color: #43A047; }\\n.page-link:hover {\\n color: #347c37 !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #a3d9a6 !important; }\\n.mat-ink-bar {\\n background-color: #43A047 !important; }\\napp-tabmenu .btn-link {\\n color: #347c37 !important; }\\napp-tabmenu .btn-main {\\n background-color: #347c37 !important;\\n border-color: #347c37 !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #43A047; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #5bbb60 !important;\\n border-color: #5bbb60 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #51b655 !important;\\n border-color: #51b655 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #46a74a !important;\\n border-color: #46a74a !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #c7e8c9 !important; }\\n.switch input:checked + span {\\n background-color: #347c37 !important;\\n border-color: #347c37 !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #43A047; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #fff; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #43A047;\\n background-image: linear-gradient(to right, #43A047 0%, #43A047 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #3a8a3d inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #255827; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #43A047; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #43A047;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #43A047; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #43A047; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #43A047; }\\n.sidebar-nav > li.active {\\n border-left-color: #43A047; }\\n.sidebar-subnav {\\n background-color: #fff; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #43A047; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #43A047; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #43A047;\\n background-color: #43A047; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #8E24AA;\\n border-color: #8E24AA; }\\n.page-link:hover {\\n color: #6b1b80 !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #d082e5 !important; }\\n.mat-ink-bar {\\n background-color: #8E24AA !important; }\\napp-tabmenu .btn-link {\\n color: #6b1b80 !important; }\\napp-tabmenu .btn-main {\\n background-color: #6b1b80 !important;\\n border-color: #6b1b80 !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #8E24AA; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #b02ed3 !important;\\n border-color: #b02ed3 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #a72ac7 !important;\\n border-color: #a72ac7 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #9526b2 !important;\\n border-color: #9526b2 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #e0acee !important; }\\n.switch input:checked + span {\\n background-color: #6b1b80 !important;\\n border-color: #6b1b80 !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #8E24AA; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #fff; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #8E24AA;\\n background-image: linear-gradient(to right, #8E24AA 0%, #8E24AA 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #791f91 inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #481256; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #8E24AA; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #8E24AA;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #8E24AA; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #8E24AA; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #8E24AA; }\\n.sidebar-nav > li.active {\\n border-left-color: #8E24AA; }\\n.sidebar-subnav {\\n background-color: #fff; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #8E24AA; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #8E24AA; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #8E24AA;\\n background-color: #8E24AA; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #E53935;\\n border-color: #E53935; }\\n.page-link:hover {\\n color: #cd1e1a !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #f6bebd !important; }\\n.mat-ink-bar {\\n background-color: #E53935 !important; }\\napp-tabmenu .btn-link {\\n color: #cd1e1a !important; }\\napp-tabmenu .btn-main {\\n background-color: #cd1e1a !important;\\n border-color: #cd1e1a !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #E53935; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #eb6562 !important;\\n border-color: #eb6562 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #e95855 !important;\\n border-color: #e95855 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #e6423e !important;\\n border-color: #e6423e !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #fceaea !important; }\\n.switch input:checked + span {\\n background-color: #cd1e1a !important;\\n border-color: #cd1e1a !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #E53935; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #fff; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #E53935;\\n background-image: linear-gradient(to right, #E53935 0%, #E53935 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #df211d inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #9f1815; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #E53935; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #E53935;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #E53935; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #E53935; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #E53935; }\\n.sidebar-nav > li.active {\\n border-left-color: #E53935; }\\n.sidebar-subnav {\\n background-color: #fff; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #E53935; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #E53935; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #E53935;\\n background-color: #E53935; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #072039;\\n border-color: #072039; }\\n.page-link:hover {\\n color: #01070c !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #186dc1 !important; }\\n.mat-ink-bar {\\n background-color: #072039 !important; }\\napp-tabmenu .btn-link {\\n color: #01070c !important; }\\napp-tabmenu .btn-main {\\n background-color: #01070c !important;\\n border-color: #01070c !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #072039; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #0d3a66 !important;\\n border-color: #0d3a66 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #0b3259 !important;\\n border-color: #0b3259 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #082542 !important;\\n border-color: #082542 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #2786e5 !important; }\\n.switch input:checked + span {\\n background-color: #01070c !important;\\n border-color: #01070c !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #072039; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #3a3f51; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #072039;\\n background-image: linear-gradient(to right, #072039 0%, #072039 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #04111e inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #55a0ea; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #072039; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #072039;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #55a0ea; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #55a0ea; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #072039; }\\n.sidebar-nav > li.active {\\n border-left-color: #55a0ea; }\\n.sidebar-subnav {\\n background-color: #3a3f51; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #55a0ea; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #072039; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #072039;\\n background-color: #072039; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #43A047;\\n border-color: #43A047; }\\n.page-link:hover {\\n color: #347c37 !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #a3d9a6 !important; }\\n.mat-ink-bar {\\n background-color: #43A047 !important; }\\napp-tabmenu .btn-link {\\n color: #347c37 !important; }\\napp-tabmenu .btn-main {\\n background-color: #347c37 !important;\\n border-color: #347c37 !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #43A047; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #5bbb60 !important;\\n border-color: #5bbb60 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #51b655 !important;\\n border-color: #51b655 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #46a74a !important;\\n border-color: #46a74a !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #c7e8c9 !important; }\\n.switch input:checked + span {\\n background-color: #347c37 !important;\\n border-color: #347c37 !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #43A047; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #3a3f51; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #43A047;\\n background-image: linear-gradient(to right, #43A047 0%, #43A047 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #3a8a3d inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #255827; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #43A047; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #43A047;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #43A047; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #43A047; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #43A047; }\\n.sidebar-nav > li.active {\\n border-left-color: #43A047; }\\n.sidebar-subnav {\\n background-color: #3a3f51; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #43A047; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #43A047; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #43A047;\\n background-color: #43A047; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #8E24AA;\\n border-color: #8E24AA; }\\n.page-link:hover {\\n color: #6b1b80 !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #d082e5 !important; }\\n.mat-ink-bar {\\n background-color: #8E24AA !important; }\\napp-tabmenu .btn-link {\\n color: #6b1b80 !important; }\\napp-tabmenu .btn-main {\\n background-color: #6b1b80 !important;\\n border-color: #6b1b80 !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #8E24AA; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #b02ed3 !important;\\n border-color: #b02ed3 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #a72ac7 !important;\\n border-color: #a72ac7 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #9526b2 !important;\\n border-color: #9526b2 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #e0acee !important; }\\n.switch input:checked + span {\\n background-color: #6b1b80 !important;\\n border-color: #6b1b80 !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #8E24AA; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #3a3f51; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #8E24AA;\\n background-image: linear-gradient(to right, #8E24AA 0%, #8E24AA 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #791f91 inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #481256; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #8E24AA; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #8E24AA;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #8E24AA; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #8E24AA; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #8E24AA; }\\n.sidebar-nav > li.active {\\n border-left-color: #8E24AA; }\\n.sidebar-subnav {\\n background-color: #3a3f51; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #8E24AA; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #8E24AA; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #8E24AA;\\n background-color: #8E24AA; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"/*\\n Google material colors\\n */\\n.bg-red-50 {\\n background-color: #FFEBEE; }\\n.bg-red-100 {\\n background-color: #FFCDD2; }\\n.bg-red-200 {\\n background-color: #EF9A9A; }\\n.bg-red-300 {\\n background-color: #E57373; }\\n.bg-red-400 {\\n background-color: #EF5350; }\\n.bg-red-500 {\\n background-color: #F44336; }\\n.bg-red-600 {\\n background-color: #E53935; }\\n.bg-red-700 {\\n background-color: #D32F2F; }\\n.bg-red-800 {\\n background-color: #C62828; }\\n.bg-red-900 {\\n background-color: #B71C1C; }\\n.bg-red-A100 {\\n background-color: #FF8A80; }\\n.bg-red-A200 {\\n background-color: #FF5252; }\\n.bg-red-A400 {\\n background-color: #FF1744; }\\n.bg-red-A700 {\\n background-color: #D50000; }\\n.bg-pink-50 {\\n background-color: #FCE4EC; }\\n.bg-pink-100 {\\n background-color: #F8BBD0; }\\n.bg-pink-200 {\\n background-color: #F48FB1; }\\n.bg-pink-300 {\\n background-color: #F06292; }\\n.bg-pink-400 {\\n background-color: #EC407A; }\\n.bg-pink-500 {\\n background-color: #E91E63; }\\n.bg-pink-600 {\\n background-color: #D81B60; }\\n.bg-pink-700 {\\n background-color: #C2185B; }\\n.bg-pink-800 {\\n background-color: #AD1457; }\\n.bg-pink-900 {\\n background-color: #880E4F; }\\n.bg-pink-A100 {\\n background-color: #FF80AB; }\\n.bg-pink-A200 {\\n background-color: #FF4081; }\\n.bg-pink-A400 {\\n background-color: #F50057; }\\n.bg-pink-A700 {\\n background-color: #C51162; }\\n.bg-purple-50 {\\n background-color: #F3E5F5; }\\n.bg-purple-100 {\\n background-color: #E1BEE7; }\\n.bg-purple-200 {\\n background-color: #CE93D8; }\\n.bg-purple-300 {\\n background-color: #BA68C8; }\\n.bg-purple-400 {\\n background-color: #AB47BC; }\\n.bg-purple-500 {\\n background-color: #9C27B0; }\\n.bg-purple-600 {\\n background-color: #8E24AA; }\\n.bg-purple-700 {\\n background-color: #7B1FA2; }\\n.bg-purple-800 {\\n background-color: #6A1B9A; }\\n.bg-purple-900 {\\n background-color: #4A148C; }\\n.bg-purple-A100 {\\n background-color: #EA80FC; }\\n.bg-purple-A200 {\\n background-color: #E040FB; }\\n.bg-purple-A400 {\\n background-color: #D500F9; }\\n.bg-purple-A700 {\\n background-color: #AA00FF; }\\n.bg-deep-purple-50 {\\n background-color: #EDE7F6; }\\n.bg-deep-purple-100 {\\n background-color: #D1C4E9; }\\n.bg-deep-purple-200 {\\n background-color: #B39DDB; }\\n.bg-deep-purple-300 {\\n background-color: #9575CD; }\\n.bg-deep-purple-400 {\\n background-color: #7E57C2; }\\n.bg-deep-purple-500 {\\n background-color: #673AB7; }\\n.bg-deep-purple-600 {\\n background-color: #5E35B1; }\\n.bg-deep-purple-700 {\\n background-color: #512DA8; }\\n.bg-deep-purple-800 {\\n background-color: #4527A0; }\\n.bg-deep-purple-900 {\\n background-color: #311B92; }\\n.bg-deep-purple-A100 {\\n background-color: #B388FF; }\\n.bg-deep-purple-A200 {\\n background-color: #7C4DFF; }\\n.bg-deep-purple-A400 {\\n background-color: #651FFF; }\\n.bg-deep-purple-A700 {\\n background-color: #6200EA; }\\n.bg-indigo-50 {\\n background-color: #E8EAF6; }\\n.bg-indigo-100 {\\n background-color: #C5CAE9; }\\n.bg-indigo-200 {\\n background-color: #9FA8DA; }\\n.bg-indigo-300 {\\n background-color: #7986CB; }\\n.bg-indigo-400 {\\n background-color: #5C6BC0; }\\n.bg-indigo-500 {\\n background-color: #3F51B5; }\\n.bg-indigo-600 {\\n background-color: #3949AB; }\\n.bg-indigo-700 {\\n background-color: #303F9F; }\\n.bg-indigo-800 {\\n background-color: #283593; }\\n.bg-indigo-900 {\\n background-color: #1A237E; }\\n.bg-indigo-A100 {\\n background-color: #8C9EFF; }\\n.bg-indigo-A200 {\\n background-color: #536DFE; }\\n.bg-indigo-A400 {\\n background-color: #3D5AFE; }\\n.bg-indigo-A700 {\\n background-color: #304FFE; }\\n.bg-blue-50 {\\n background-color: #E3F2FD; }\\n.bg-blue-100 {\\n background-color: #BBDEFB; }\\n.bg-blue-200 {\\n background-color: #90CAF9; }\\n.bg-blue-300 {\\n background-color: #64B5F6; }\\n.bg-blue-400 {\\n background-color: #42A5F5; }\\n.bg-blue-500 {\\n background-color: #2196F3; }\\n.bg-blue-600 {\\n background-color: #1E88E5; }\\n.bg-blue-700 {\\n background-color: #1976D2; }\\n.bg-blue-800 {\\n background-color: #1565C0; }\\n.bg-blue-900 {\\n background-color: #0D47A1; }\\n.bg-blue-A100 {\\n background-color: #82B1FF; }\\n.bg-blue-A200 {\\n background-color: #448AFF; }\\n.bg-blue-A400 {\\n background-color: #2979FF; }\\n.bg-blue-A700 {\\n background-color: #2962FF; }\\n.bg-light-blue-50 {\\n background-color: #E1F5FE; }\\n.bg-light-blue-100 {\\n background-color: #B3E5FC; }\\n.bg-light-blue-200 {\\n background-color: #81D4FA; }\\n.bg-light-blue-300 {\\n background-color: #4FC3F7; }\\n.bg-light-blue-400 {\\n background-color: #29B6F6; }\\n.bg-light-blue-500 {\\n background-color: #03A9F4; }\\n.bg-light-blue-600 {\\n background-color: #039BE5; }\\n.bg-light-blue-700 {\\n background-color: #0288D1; }\\n.bg-light-blue-800 {\\n background-color: #0277BD; }\\n.bg-light-blue-900 {\\n background-color: #01579B; }\\n.bg-light-blue-A100 {\\n background-color: #80D8FF; }\\n.bg-light-blue-A200 {\\n background-color: #40C4FF; }\\n.bg-light-blue-A400 {\\n background-color: #00B0FF; }\\n.bg-light-blue-A700 {\\n background-color: #0091EA; }\\n.bg-cyan-50 {\\n background-color: #E0F7FA; }\\n.bg-cyan-100 {\\n background-color: #B2EBF2; }\\n.bg-cyan-200 {\\n background-color: #80DEEA; }\\n.bg-cyan-300 {\\n background-color: #4DD0E1; }\\n.bg-cyan-400 {\\n background-color: #26C6DA; }\\n.bg-cyan-500 {\\n background-color: #00BCD4; }\\n.bg-cyan-600 {\\n background-color: #00ACC1; }\\n.bg-cyan-700 {\\n background-color: #0097A7; }\\n.bg-cyan-800 {\\n background-color: #00838F; }\\n.bg-cyan-900 {\\n background-color: #006064; }\\n.bg-cyan-A100 {\\n background-color: #84FFFF; }\\n.bg-cyan-A200 {\\n background-color: #18FFFF; }\\n.bg-cyan-A400 {\\n background-color: #00E5FF; }\\n.bg-cyan-A700 {\\n background-color: #00B8D4; }\\n.bg-teal-50 {\\n background-color: #E0F2F1; }\\n.bg-teal-100 {\\n background-color: #B2DFDB; }\\n.bg-teal-200 {\\n background-color: #80CBC4; }\\n.bg-teal-300 {\\n background-color: #4DB6AC; }\\n.bg-teal-400 {\\n background-color: #26A69A; }\\n.bg-teal-500 {\\n background-color: #009688; }\\n.bg-teal-600 {\\n background-color: #00897B; }\\n.bg-teal-700 {\\n background-color: #00796B; }\\n.bg-teal-800 {\\n background-color: #00695C; }\\n.bg-teal-900 {\\n background-color: #004D40; }\\n.bg-teal-A100 {\\n background-color: #A7FFEB; }\\n.bg-teal-A200 {\\n background-color: #64FFDA; }\\n.bg-teal-A400 {\\n background-color: #1DE9B6; }\\n.bg-teal-A700 {\\n background-color: #00BFA5; }\\n.bg-green-50 {\\n background-color: #E8F5E9; }\\n.bg-green-100 {\\n background-color: #C8E6C9; }\\n.bg-green-200 {\\n background-color: #A5D6A7; }\\n.bg-green-300 {\\n background-color: #81C784; }\\n.bg-green-400 {\\n background-color: #66BB6A; }\\n.bg-green-500 {\\n background-color: #4CAF50; }\\n.bg-green-600 {\\n background-color: #43A047; }\\n.bg-green-700 {\\n background-color: #388E3C; }\\n.bg-green-800 {\\n background-color: #2E7D32; }\\n.bg-green-900 {\\n background-color: #1B5E20; }\\n.bg-green-A100 {\\n background-color: #B9F6CA; }\\n.bg-green-A200 {\\n background-color: #69F0AE; }\\n.bg-green-A400 {\\n background-color: #00E676; }\\n.bg-green-A700 {\\n background-color: #00C853; }\\n.bg-light-green-50 {\\n background-color: #F1F8E9; }\\n.bg-light-green-100 {\\n background-color: #DCEDC8; }\\n.bg-light-green-200 {\\n background-color: #C5E1A5; }\\n.bg-light-green-300 {\\n background-color: #AED581; }\\n.bg-light-green-400 {\\n background-color: #9CCC65; }\\n.bg-light-green-500 {\\n background-color: #8BC34A; }\\n.bg-light-green-600 {\\n background-color: #7CB342; }\\n.bg-light-green-700 {\\n background-color: #689F38; }\\n.bg-light-green-800 {\\n background-color: #558B2F; }\\n.bg-light-green-900 {\\n background-color: #33691E; }\\n.bg-light-green-A100 {\\n background-color: #CCFF90; }\\n.bg-light-green-A200 {\\n background-color: #B2FF59; }\\n.bg-light-green-A400 {\\n background-color: #76FF03; }\\n.bg-light-green-A700 {\\n background-color: #64DD17; }\\n.bg-lime-50 {\\n background-color: #F9FBE7; }\\n.bg-lime-100 {\\n background-color: #F0F4C3; }\\n.bg-lime-200 {\\n background-color: #E6EE9C; }\\n.bg-lime-300 {\\n background-color: #DCE775; }\\n.bg-lime-400 {\\n background-color: #D4E157; }\\n.bg-lime-500 {\\n background-color: #CDDC39; }\\n.bg-lime-600 {\\n background-color: #C0CA33; }\\n.bg-lime-700 {\\n background-color: #AFB42B; }\\n.bg-lime-800 {\\n background-color: #9E9D24; }\\n.bg-lime-900 {\\n background-color: #827717; }\\n.bg-lime-A100 {\\n background-color: #F4FF81; }\\n.bg-lime-A200 {\\n background-color: #EEFF41; }\\n.bg-lime-A400 {\\n background-color: #C6FF00; }\\n.bg-lime-A700 {\\n background-color: #AEEA00; }\\n.bg-yellow-50 {\\n background-color: #FFFDE7; }\\n.bg-yellow-100 {\\n background-color: #FFF9C4; }\\n.bg-yellow-200 {\\n background-color: #FFF59D; }\\n.bg-yellow-300 {\\n background-color: #FFF176; }\\n.bg-yellow-400 {\\n background-color: #FFEE58; }\\n.bg-yellow-500 {\\n background-color: #FFEB3B; }\\n.bg-yellow-600 {\\n background-color: #FDD835; }\\n.bg-yellow-700 {\\n background-color: #FBC02D; }\\n.bg-yellow-800 {\\n background-color: #F9A825; }\\n.bg-yellow-900 {\\n background-color: #F57F17; }\\n.bg-yellow-A100 {\\n background-color: #FFFF8D; }\\n.bg-yellow-A200 {\\n background-color: #FFFF00; }\\n.bg-yellow-A400 {\\n background-color: #FFEA00; }\\n.bg-yellow-A700 {\\n background-color: #FFD600; }\\n.bg-amber-50 {\\n background-color: #FFF8E1; }\\n.bg-amber-100 {\\n background-color: #FFECB3; }\\n.bg-amber-200 {\\n background-color: #FFE082; }\\n.bg-amber-300 {\\n background-color: #FFD54F; }\\n.bg-amber-400 {\\n background-color: #FFCA28; }\\n.bg-amber-500 {\\n background-color: #FFC107; }\\n.bg-amber-600 {\\n background-color: #FFB300; }\\n.bg-amber-700 {\\n background-color: #FFA000; }\\n.bg-amber-800 {\\n background-color: #FF8F00; }\\n.bg-amber-900 {\\n background-color: #FF6F00; }\\n.bg-amber-A100 {\\n background-color: #FFE57F; }\\n.bg-amber-A200 {\\n background-color: #FFD740; }\\n.bg-amber-A400 {\\n background-color: #FFC400; }\\n.bg-amber-A700 {\\n background-color: #FFAB00; }\\n.bg-orange-50 {\\n background-color: #FFF3E0; }\\n.bg-orange-100 {\\n background-color: #FFE0B2; }\\n.bg-orange-200 {\\n background-color: #FFCC80; }\\n.bg-orange-300 {\\n background-color: #FFB74D; }\\n.bg-orange-400 {\\n background-color: #FFA726; }\\n.bg-orange-500 {\\n background-color: #FF9800; }\\n.bg-orange-600 {\\n background-color: #FB8C00; }\\n.bg-orange-700 {\\n background-color: #F57C00; }\\n.bg-orange-800 {\\n background-color: #EF6C00; }\\n.bg-orange-900 {\\n background-color: #E65100; }\\n.bg-orange-A100 {\\n background-color: #FFD180; }\\n.bg-orange-A200 {\\n background-color: #FFAB40; }\\n.bg-orange-A400 {\\n background-color: #FF9100; }\\n.bg-orange-A700 {\\n background-color: #FF6D00; }\\n.bg-deep-orange-50 {\\n background-color: #FBE9E7; }\\n.bg-deep-orange-100 {\\n background-color: #FFCCBC; }\\n.bg-deep-orange-200 {\\n background-color: #FFAB91; }\\n.bg-deep-orange-300 {\\n background-color: #FF8A65; }\\n.bg-deep-orange-400 {\\n background-color: #FF7043; }\\n.bg-deep-orange-500 {\\n background-color: #FF5722; }\\n.bg-deep-orange-600 {\\n background-color: #F4511E; }\\n.bg-deep-orange-700 {\\n background-color: #E64A19; }\\n.bg-deep-orange-800 {\\n background-color: #D84315; }\\n.bg-deep-orange-900 {\\n background-color: #BF360C; }\\n.bg-deep-orange-A100 {\\n background-color: #FF9E80; }\\n.bg-deep-orange-A200 {\\n background-color: #FF6E40; }\\n.bg-deep-orange-A400 {\\n background-color: #FF3D00; }\\n.bg-deep-orange-A700 {\\n background-color: #DD2C00; }\\n.bg-brown-50 {\\n background-color: #EFEBE9; }\\n.bg-brown-100 {\\n background-color: #D7CCC8; }\\n.bg-brown-200 {\\n background-color: #BCAAA4; }\\n.bg-brown-300 {\\n background-color: #A1887F; }\\n.bg-brown-400 {\\n background-color: #8D6E63; }\\n.bg-brown-500 {\\n background-color: #795548; }\\n.bg-brown-600 {\\n background-color: #6D4C41; }\\n.bg-brown-700 {\\n background-color: #5D4037; }\\n.bg-brown-800 {\\n background-color: #4E342E; }\\n.bg-brown-900 {\\n background-color: #3E2723; }\\n.bg-grey-50 {\\n background-color: #FAFAFA; }\\n.bg-grey-100 {\\n background-color: #F5F5F5; }\\n.bg-grey-200 {\\n background-color: #EEEEEE; }\\n.bg-grey-300 {\\n background-color: #E0E0E0; }\\n.bg-grey-400 {\\n background-color: #BDBDBD; }\\n.bg-grey-500 {\\n background-color: #9E9E9E; }\\n.bg-grey-600 {\\n background-color: #757575; }\\n.bg-grey-700 {\\n background-color: #616161; }\\n.bg-grey-800 {\\n background-color: #424242; }\\n.bg-grey-900 {\\n background-color: #212121; }\\n.bg-blue-grey-50 {\\n background-color: #ECEFF1; }\\n.bg-blue-grey-100 {\\n background-color: #CFD8DC; }\\n.bg-blue-grey-200 {\\n background-color: #B0BEC5; }\\n.bg-blue-grey-300 {\\n background-color: #90A4AE; }\\n.bg-blue-grey-400 {\\n background-color: #78909C; }\\n.bg-blue-grey-500 {\\n background-color: #607D8B; }\\n.bg-blue-grey-600 {\\n background-color: #546E7A; }\\n.bg-blue-grey-700 {\\n background-color: #455A64; }\\n.bg-blue-grey-800 {\\n background-color: #37474F; }\\n.bg-blue-grey-900 {\\n background-color: #263238; }\\n.bg-white-lighter {\\n background-color: rgba(255, 255, 255, 0.12); }\\n.bg-white-light {\\n background-color: rgba(255, 255, 255, 0.3); }\\n.bg-white-dark {\\n background-color: rgba(255, 255, 255, 0.7); }\\n.bg-white-darker {\\n background-color: white; }\\n.bg-black-lighter {\\n background-color: rgba(0, 0, 0, 0.12); }\\n.bg-black-light {\\n background-color: rgba(0, 0, 0, 0.26); }\\n.bg-black-dark {\\n background-color: rgba(0, 0, 0, 0.54); }\\n.bg-black-darker {\\n background-color: rgba(0, 0, 0, 0.87); }\\n.bg-red-800, .bg-red-900,\\n.bg-pink-700, .bg-pink-800, .bg-pink-900,\\n.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,\\n.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-A400, .bg-deep-purple-A700,\\n.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-A700, .bg-blue-800,\\n.bg-blue-900, .bg-light-blue-900,\\n.bg-cyan-900, .bg-teal-800, .bg-teal-900,\\n.bg-green-800, .bg-green-900,\\n.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,\\n.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,\\n.bg-grey-700, .bg-grey-800, .bg-grey-900 {\\n color: rgba(255, 255, 255, 0.87); }\\n.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-A200, .bg-red-A400, .bg-red-A700, .bg-pink,\\n.bg-pink-500, .bg-pink-600, .bg-pink-A200, .bg-pink-A400, .bg-pink-A700, .bg-purple-300,\\n.bg-purple-400, .bg-purple-A200, .bg-purple-A400, .bg-purple-A700, .bg-deep-purple-300,\\n.bg-deep-purple-400, .bg-deep-purple-A200,\\n.bg-indigo-300, .bg-indigo-400, .bg-indigo-A200, .bg-indigo-A400, .bg-blue,\\n.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-A200, .bg-blue-A400, .bg-blue-A700, .bg-light-blue,\\n.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-A700, .bg-cyan,\\n.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,\\n.bg-teal-500, .bg-teal-600, .bg-teal-700,\\n.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,\\n.bg-lime-900, .bg-orange-800, .bg-orange-900,\\n.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-A400, .bg-deep-orange-A700, .bg-brown-300,\\n.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {\\n color: #fff; }\\n.page-item.active .page-link {\\n background-color: #E53935;\\n border-color: #E53935; }\\n.page-link:hover {\\n color: #cd1e1a !important; }\\n.page-link:focus {\\n box-shadow: 0 0 0 0.2rem #f6bebd !important; }\\n.mat-ink-bar {\\n background-color: #E53935 !important; }\\napp-tabmenu .btn-link {\\n color: #cd1e1a !important; }\\napp-tabmenu .btn-main {\\n background-color: #cd1e1a !important;\\n border-color: #cd1e1a !important; }\\nbody .ball-pulse > div,\\nbody .ball-grid-pulse > div,\\nbody .square-spin > div,\\nbody .ball-pulse-rise > div,\\nbody .ball-rotate > div,\\nbody .ball-rotate > div:before,\\nbody .ball-rotate > div:after,\\nbody .cube-transition > div,\\nbody .ball-zig-zag > div,\\nbody .ball-zig-zag-deflect > div,\\nbody .ball-triangle-path > div,\\nbody .ball-scale > div,\\nbody .line-scale > div,\\nbody .line-scale-party > div,\\nbody .ball-scale-multiple > div,\\nbody .ball-pulse-sync > div,\\nbody .ball-beat > div,\\nbody .line-scale-pulse-out > div,\\nbody .line-scale-pulse-out-rapid > div,\\nbody .ball-spin-fade-loader > div,\\nbody .line-spin-fade-loader > div,\\nbody .triangle-skew-spin > div,\\nbody .ball-grid-beat > div,\\nbody .semi-circle-spin > div {\\n background-color: #E53935; }\\nsmp-modal .modal-footer-content button[type=submit],\\n.swal-button {\\n background-color: #eb6562 !important;\\n border-color: #eb6562 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:hover,\\n.swal-button:hover {\\n background-color: #e95855 !important;\\n border-color: #e95855 !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active,\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:hover,\\n.swal-button:active,\\n.swal-button:active:hover {\\n background-color: #e6423e !important;\\n border-color: #e6423e !important; }\\nsmp-modal .modal-footer-content button[type=submit]:not(:disabled):not(.disabled):active:focus,\\n.swal-button:active:focus,\\n.swal-button:focus {\\n box-shadow: 0 0 0 0.2rem #fceaea !important; }\\n.switch input:checked + span {\\n background-color: #cd1e1a !important;\\n border-color: #cd1e1a !important; }\\napp-grid div table tbody tr.gridFocusedRow {\\n border-left-color: #E53935; }\\n.cdk-overlay-pane.ngx-contextmenu context-menu-content .dropdown.open.show.ngx-contextmenu ul.dropdown-menu.show a.dropdown-item:active {\\n background-color: #f5f7fa;\\n color: #212529; }\\n/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa; }\\n.wrapper .aside-container {\\n background-color: #3a3f51; }\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #E53935;\\n background-image: linear-gradient(to right, #E53935 0%, #E53935 100%);\\n background-repeat: repeat-x; }\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #df211d inset; } }\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff; }\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #9f1815; }\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #E53935; }\\n.topnavbar .breadcrumbs-button:hover {\\n color: #E53935;\\n background-color: #FFF; }\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51; }\\n.sidebar .nav-heading {\\n color: #919DA8; }\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #E53935; }\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits; }\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #E53935; }\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #E53935; }\\n.sidebar-nav > li.active {\\n border-left-color: #E53935; }\\n.sidebar-subnav {\\n background-color: #3a3f51; }\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3; }\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #E53935; }\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #E53935; }\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #E53935;\\n background-color: #E53935; }\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: rgba(0, 0, 0, 0.8); }\\n\"","module.exports = \"\\n
        \\n
        \\n \\n /\\n \\n \\n {{ breadcrumb.caption }}\\n \\n
        \\n
        \\n \\n\"","import { Router, NavigationEnd, ActivatedRoute, NavigationStart, Params } from \"@angular/router\";\nimport { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Breadcrumb, Param } from './breadcrumbs.models';\nimport { ShellRestService } from '../shell.rest';\nimport { MediaMatcher } from \"@angular/cdk/layout\";\nimport { ShellSideNavService } from \"../shell-sidenav.service\";\nimport { throwToolbarMixedModesError } from \"@angular/material\";\n\n@Component({\n selector: 'app-breadcrumbs',\n templateUrl: './breadcrumbs.component.html'\n})\nexport class BreadcrumbsComponent implements OnInit {\n \n public mobileQuery: MediaQueryList;\n\n private breadcrumbs: Breadcrumb[] = [];\n private path: string;\n\n oldPath = '';\n oldParams: Array> = new Array>();\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n private router: Router,\n private route: ActivatedRoute,\n private shellService: ShellRestService,\n private shellSideNavService: ShellSideNavService\n ) {\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\n this.mobileQuery.addListener(() => changeDetectorRef.detectChanges());\n\n this.router.events.filter(event => event instanceof NavigationEnd).subscribe((e) => {\n if(this.router.url !== 'login'\n && !this.router.url.startsWith('/changepassword')\n && !this.router.url.startsWith('/resetpassword')\n ){\n this.Update();\n }\n });\n }\n\n public ngOnInit() {\n }\n\n private onBreadcrumbClick(breadcrumb: Breadcrumb) {\n if(breadcrumb.path == null)\n {\n return;\n }\n let params = {};\n if(breadcrumb.queryParams.length > 0){\n\n breadcrumb.queryParams.forEach( p => {\n params[p.key] = p.value;\n });\n if(breadcrumb.pathParam !== ''){\n this.router.navigate([breadcrumb.path, breadcrumb.pathParam], {queryParams: params});\n }else{\n this.router.navigate([breadcrumb.path], {queryParams: params});\n }\n }\n else{\n\n this.router.navigate([breadcrumb.path]);\n }\n }\n\n private Update()\n {\n this.path = this.router.url;\n this.checkPaths();\n this.shellService.PostBreadcrumbs(this.path, this.oldParams).subscribe(b => {\n this.breadcrumbs = b;\n });\n }\n\n checkPaths() {\n let olPathWithoutParams = this.oldPath.substring(0,this.oldPath.indexOf('?'));\n let params: Array;\n if(this.oldPath === ''){\n this.oldPath = this.path; \n params = this.getListOfParams();\n this.oldParams = new Array>();\n } else {\n if(olPathWithoutParams === ''){\n olPathWithoutParams = this.oldPath;\n }\n if(this.path.length > this.oldPath.length && this.path.startsWith(olPathWithoutParams)) {\n this.oldPath = this.path;\n params = this.getListOfParams();\n } else {\n this.oldPath = this.path;\n this.oldParams = new Array>();\n params = this.getListOfParams();\n }\n }\n\n if(params.length >0){\n this.oldParams.push( params);\n }\n }\n\n\n getListOfParams(){\n let params: Array;\n this.route.queryParamMap.forEach(e => \n {\n params = new Array();\n e.keys.forEach(k => {\n var param = new Param();\n param.key = k;\n param.value = this.route.snapshot.queryParamMap.get(k);\n params.push(param);\n });\n })\n return params;\n }\n\n addShortcut() {\n let currentPath = this.router.url;\n console.log(`Shortcut: ${this.breadcrumbs.map(b => {\n console.log(\"BreadcrumbsComponent -> addShortcut -> \", decodeURIComponent(b.caption));\n return b.caption;}).join('/')}: `, currentPath);\n let a = this.router.parseUrl(this.router.url);\n console.log('Route: ', a);\n }\n}\n","import { Params } from \"@angular/router\";\nimport { ExecSyncOptionsWithBufferEncoding } from \"child_process\";\n\nexport interface Breadcrumb {\n id: number;\n caption: string;\n path: string;\n pathParam: string;\n queryParams: Array;\n }\n\nexport class Param{\n key: string;\n value: string;\n}\n","export function enableButtonFocusDropper() {\n let mouseDown = false;\n let elements = document.getElementsByClassName(\"removeFocusFromMouseClick\");\n for (let i = 0; i < elements.length; i++) {\n var element = elements[i];\n element.addEventListener('mousedown', () => {\n mouseDown = true;\n });\n\n element.addEventListener('mouseup', () => {\n mouseDown = false;\n });\n\n element.addEventListener('focus', (event) => {\n if (mouseDown) {\n event.target.blur();\n }\n });\n }\n}","module.exports = \"© {{settings.getAppSetting('year')}} - {{ settings.getAppSetting('name') }}\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\nimport { SettingsService } from '../../core/settings/settings.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor(public settings: SettingsService) { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n \\n

        \\n
        \\n

        {{'offsidebar.setting.THEMES' | translate}}

        \\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

        {{'offsidebar.setting.LAYOUT' | translate}}

        \\n
        \\n

        {{'offsidebar.setting.FIXED' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.BOXED' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.SIDEMENU' | translate}}

        \\n
        \\n

        {{'offsidebar.setting.COLLAPSED' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.COLLAPSEDTEXT' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.FLOAT' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.HOVER' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.SHOWSCROLLBAR' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.SHOWPREVIOUSDESCRIPTIONS' | translate}}

        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n

        {{'offsidebar.setting.LANGUAGE' | translate}}

        \\n \\n
        \\n
        \\n \\n
        \\n \\n\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { SettingsService } from '../../../core/settings/settings.service';\nimport { ThemesService } from '../../../core/themes/themes.service';\nimport { TranslatorService } from '../../../core/translator/translator.service';\nimport { ShellRestService } from '../../shell.rest';\nimport { LayoutSettings } from './layout-settings.models';\ndeclare var $: any;\n\n@Component({\n selector: 'app-layout-settings',\n templateUrl: './layout-settings.component.html',\n styleUrls: ['./layout-settings.component.scss']\n})\nexport class LayoutSettingsComponent implements OnInit {\n clickEvent = 'click.offsidebar';\n $doc: any = null;\n layoutSettings: LayoutSettings;\n\n constructor(\n public settings: SettingsService, \n public themes: ThemesService, \n public translator: TranslatorService,\n private rest: ShellRestService) { \n this.layoutSettings = this.getDefaultSettings(); \n }\n\n ngOnInit() {\n this.anyClickClose();\n this.rest.GetLayoutSettings().subscribe(settings => {\n this.loadSettings(settings);\n }); \n }\n\n setTheme() {\n this.themes.setTheme(this.layoutSettings.theme);\n }\n\n setLayoutSetting(setting: any, value: any){\n this.settings.setLayoutSetting(setting, value);\n }\n\n getLangs() {\n return this.translator.getAvailableLanguages();\n }\n\n setLang(value) {\n this.translator.useLanguage(value);\n this.layoutSettings.language = value;\n }\n\n anyClickClose() {\n this.$doc = $(document).on(this.clickEvent, (e) => {\n if (!$(e.target).parents('.offsidebar').length) {\n this.settings.setLayoutSetting('offsidebarOpen', false);\n }\n });\n }\n\n loadSettings(settings: any){\n this.layoutSettings = settings;\n this.setTheme();\n this.setLang(this.layoutSettings.language);\n this.setLayoutSetting('isBoxed', this.layoutSettings.isBoxed);\n this.setLayoutSetting('isFixed', this.layoutSettings.isFixed);\n this.setLayoutSetting('isCollapsed', this.layoutSettings.isSideMenuCollapsed);\n this.setLayoutSetting('isCollapsedText', this.layoutSettings.isSideMenuCollapsedText);\n this.setLayoutSetting('isFloat', this.layoutSettings.isSideMenuFloating);\n this.setLayoutSetting('asideHover', this.layoutSettings.isSideMenuHoverOnly);\n this.setLayoutSetting('asideScrollbar', this.layoutSettings.isSideMenuScrollbarShown);\n this.setLayoutSetting('showPreviousDescriptions', this.layoutSettings.showPreviousDescriptions);\n }\n\n getDefaultSettings(): LayoutSettings{\n var defaultSettings: LayoutSettings = {\n id: '',\n userId: '',\n isBoxed: false,\n isFixed: true,\n isSideMenuCollapsed: false,\n isSideMenuCollapsedText: false,\n isSideMenuFloating: false,\n isSideMenuHoverOnly: false,\n isSideMenuScrollbarShown: false,\n showPreviousDescriptions: false,\n language: 'en',\n theme: 'A'\n }\n \n return defaultSettings;\n }\n\n saveSettings(){\n this.rest.PostLayoutSettings(this.layoutSettings).subscribe(() => { \n swal('Zapisano ustawienia'); \n });\n }\n\n ngOnDestroy() {\n if (this.$doc)\n this.$doc.off(this.clickEvent);\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n template:\n `\n

        Strona nie istnieje

        \n \n `\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n public ngOnInit() {\n }\n\n goToMainPage() {\n this.router.navigate(['/']);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PageNotFoundComponent } from './page-not-found.component';\n\n@NgModule({\n exports: [PageNotFoundComponent],\n declarations: [PageNotFoundComponent]\n})\nexport class PageNotFoundModule {\n}\n","module.exports = \"\\n
        \\n
        \\n
        \\n
        \\n
        \\n \\n \\n
        \\n
        \\n
        \\n \\n
        \\n
        \\n
        \\n
        \\n \\n
        \"","module.exports = \".profile-picture {\\n display: block;\\n max-width: 500px;\\n max-height: 300px;\\n width: auto;\\n height: auto; }\\n\\n.displayed {\\n display: block;\\n margin-left: auto;\\n margin-right: auto; }\\n\"","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { ModalComponent } from '../../core/shared/modal/modal.component';\nimport { UserDetailsRest } from '../../company/users/user-details/user-details.rest';\nimport { User } from '../../company/users/users.model';\nimport { LoginRest } from '../../login/login.rest';\nimport { ShellRestService } from '../shell.rest';\nimport { ProfilePictureService } from '../../profile-picture/profile-picture.service';\n\n@Component({\n selector: 'app-profile-picture-selection',\n templateUrl: './profile-picture-selection.component.html',\n styleUrls: ['./profile-picture-selection.component.scss']\n})\nexport class ProfilePictureSelectionComponent implements OnInit {\n\n @ViewChild('pictureSelectionForm') pictureSelectionForm: NgForm;\n @ViewChild(ModalComponent) private modal: ModalComponent;\n @Output() onSuccess: EventEmitter = new EventEmitter();\n\n private picture: string;\n private user: User;\n public selectedFile: string = 'Nie wybrano pliku';\n\n constructor(\n private loginRest: LoginRest,\n private rest: ShellRestService,\n private profilePictureService: ProfilePictureService\n ) {\n\n }\n\n ngOnInit() {\n this.modal.title = 'Edytuj zdjęcie profilowe';\n }\n\n public editProfilePicture() {\n this.loginRest.GetLoggedUser().subscribe(user => {\n this.user = user;\n this.picture = this.user.picture;\n this.modal.openWithCustomSize({ maxwidth: \"550px\" });\n });\n }\n\n private confirm() {\n this.updateProfilePicture();\n this.closeModal();\n }\n\n private removePicture() {\n this.picture = null;\n this.selectedFile = 'Nie wybrano pliku';\n }\n\n private closeModal() {\n this.modal.close();\n }\n\n private onModalClose() {\n this.picture = null;\n this.selectedFile = 'Nie wybrano pliku';\n }\n\n public onFileChanged(files: any[]) {\n if (!files || files.length === 0)\n return;\n\n var reader = new FileReader();\n if ((files[0] as File).size > 1048576) {\n sweetAlert(\"Wielkość pliku nie może przekraczać 1 MB\")\n return;\n }\n reader.readAsArrayBuffer(files[0]);\n reader.onload = () => {\n let binaryString = '';\n let arrayBuffer = reader.result;\n let array = new Uint8Array(arrayBuffer);\n for (var i = 0; i < array.byteLength; i++) {\n binaryString += String.fromCharCode(array[i]);\n }\n this.picture = window.btoa(binaryString);\n this.selectedFile = files[0].name;\n }\n }\n\n private updateProfilePicture() {\n let data = { userId: this.user.id, picture: this.picture };\n this.rest.PostUserPicture(data).subscribe(() => {\n sweetAlert({ text: \"Zmieniono zdjęcie profilowe\" });\n });\n this.profilePictureService.changePicture(this.picture);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Subject } from 'rxjs/Subject';\n\n@Injectable()\nexport class ShellSideNavService {\n private closeSideNavSource = new Subject();\n public closeSideNav$ = this.closeSideNavSource.asObservable();\n\n CloseSideNav(force: boolean = false) {\n this.closeSideNavSource.next(force);\n }\n\n}\n","module.exports = \"\\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
        \"","module.exports = \"\"","import {\n Component,\n OnInit,\n ChangeDetectorRef,\n ViewChild,\n EventEmitter,\n Output\n} from \"@angular/core\";\nimport { MediaMatcher } from \"@angular/cdk/layout\";\nimport { ShellRestService } from \"./shell.rest\";\n// import { ShellSideNavService } from './shell-sidenav.service';\nimport { Subscription } from \"rxjs/Subscription\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport * as ButtonFocusDropper from \"./buttonFocusDropper.js\";\nimport { SettingsService } from \"../core/settings/settings.service\";\nimport { UserblockService } from \"./sidebar-menu/userblock/userblock.service\";\nimport { Subject } from \"rxjs\";\nconst screenfull = require(\"screenfull\");\nconst browser = require(\"jquery.browser\");\ndeclare var $: any;\n\n@Component({\n selector: \"app-shell\",\n templateUrl: \"./shell.component.html\",\n styleUrls: [\"./shell.component.scss\"],\n providers: [ShellRestService]\n})\nexport class ShellComponent implements OnInit {\n @ViewChild(\"fsbutton\") fsbutton;\n public mobileQuery: MediaQueryList;\n public applicationName: string = \"ITS\";\n public blockeCustomerText: string;\n private isMobile: boolean;\n private onSideMenuCollapseToggled: EventEmitter = new EventEmitter<\n boolean\n >();\n\n public constructor(\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher,\n private shellUserService: ShellRestService,\n public settings: SettingsService,\n public userblockService: UserblockService\n ) {\n this.mobileQuery = media.matchMedia(\"(max-width: 600px)\");\n this.mobileQuery.addListener(() => changeDetectorRef.detectChanges());\n // this.shellUserService.GetLoggedUserName().subscribe(u => {\n // this.loggedUserName = u;\n // });\n }\n\n \n public ngOnInit() {\n if (browser.msie) {\n // Not supported under IE\n this.fsbutton.nativeElement.style.display = \"none\";\n }\n ButtonFocusDropper.enableButtonFocusDropper();\n\n //var item = localStorage.getItem('isBlockedCustomerStr');\n this.shellUserService.IsBlockedCustomer().subscribe((isBlockedCustomer: boolean) => {\n if (isBlockedCustomer)\n this.blockeCustomerText = \"Kontrahent jest zablokowany\";\n }); \n }\n\n public ngAfterViewInit() {\n this.isMobile = this.mobileQuery.matches;\n if (this.isMobile) {\n this.settings.setLayoutSetting(\"asideToggled\", true);\n }\n }\n\n public ngOnDestroy() {\n //this.shellSideNavServiceToggleSubscribtion.unsubscribe();\n }\n\n toggleCollapsedSideabar() {\n this.settings.toggleLayoutSetting(\"isCollapsed\");\n let isCollapsed = this.settings.getLayoutSetting(\"isCollapsed\");\n this.onSideMenuCollapseToggled.emit(isCollapsed);\n }\n\n isCollapsedText() {\n return this.settings.getLayoutSetting(\"isCollapsedText\");\n }\n\n toggleUserBlock(event) {\n event.preventDefault();\n this.userblockService.toggleVisibility();\n }\n toggleFullScreen(event) {\n if (screenfull.enabled) {\n screenfull.toggle();\n }\n // Switch icon indicator\n let el = $(this.fsbutton.nativeElement);\n let isFullscreen = screenfull.isFullscreen;\n if (!isFullscreen) {\n el.children(\"em\")\n .removeClass(\"icon-size-fullscreen\")\n .addClass(\"icon-size-actual\");\n } else {\n el.children(\"em\")\n .removeClass(\"icon-size-actual\")\n .addClass(\"icon-size-fullscreen\");\n }\n }\n toggleOffsidebar() {\n this.settings.toggleLayoutSetting(\"offsidebarOpen\");\n }\n\n toggleAside() {\n if (this.settings.getLayoutSetting(\"asideToggled\") === true) {\n this.settings.toggleLayoutSetting(\"asideToggled\");\n }\n }\n}\n","import { CanActivate, Router } from \"@angular/router\";\nimport { Injectable } from \"@angular/core\";\nimport { SessionService } from \"../core/core/session.service\";\nimport { PermissionsService } from \"../core/services/permissions/permissions.service\";\nimport { RoutingHistoryService } from \"../core/services/routing-history/routing-history.service\";\n\n@Injectable()\nexport class ShellGuard implements CanActivate {\n constructor (\n private sessionService: SessionService,\n private permissionService: PermissionsService,\n private router: Router,\n private routingHistry: RoutingHistoryService\n ) {\n }\n\n public canActivate(next, state) {\n return this.sessionService.isSessionActive().map(sessionActive => {\n if(!sessionActive) {\n this.router.navigate(['/login']);\n return false;\n }\n else {\n let canShowPermission = this.checkPermissionsToShow(next.data.claimType);\n if(!canShowPermission){\n this.router.navigate(['dashboard']);\n }\n return canShowPermission;\n }\n });\n }\n\n checkPermissionsToShow(showClaimInternalname: string): boolean{ \n if(showClaimInternalname){\n let permissions = this.permissionService.getUserPermissions(showClaimInternalname);\n let path = this.routingHistry.getCurrentUrl();\n if(!permissions.canShow && !permissions[showClaimInternalname] && !path.includes('login')) { \n sweetAlert('Brak uprawnień do podglądu');\n }\n return permissions.canShow || permissions[showClaimInternalname];\n }\n return true;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ShellComponent } from './shell.component';\nimport { shellRouting } from './shell.routing';\nimport { ShellGuard } from './shell.guard';\nimport { SharedModule } from '../core/shared/shared.module';\nimport { BreadcrumbsComponent } from './breadcrumbs/breadcrumbs.component';\nimport { SidebarMenuModule } from './sidebar-menu/sidebar-menu.module';\nimport { ShellSideNavService } from './shell-sidenav.service';\nimport { UserMenuComponent } from './user-menu/user-menu.component';\nimport { LayoutSettingsComponent } from './layout-settings/layout-settings/layout-settings.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { SpinnerComponent } from './spinner/spinner.component';\nimport { ProfilePictureSelectionComponent } from './profile-picture-selection/profile-picture-selection.component';\n\n@NgModule({\n imports: [\n CommonModule,\n shellRouting,\n SharedModule,\n SidebarMenuModule\n ],\n declarations: [\n ShellComponent,\n BreadcrumbsComponent,\n UserMenuComponent,\n LayoutSettingsComponent,\n FooterComponent,\n SpinnerComponent,\n ProfilePictureSelectionComponent\n ],\n providers: [\n ShellGuard,\n ShellSideNavService\n ]\n})\nexport class ShellModule { }\n","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../core/core/rest.service\";\nimport { Observable } from \"rxjs\";\nimport { Breadcrumb, Param } from \"./breadcrumbs/breadcrumbs.models\";\n\n@Injectable()\nexport class ShellRestService\n{ \n private PostBreadcrumbsUrl = \"api/shell/breadcrumbs\"; \n private GetLayoutSettingsUrl = \"api/shell/layoutsettings\";\n private PostLayoutSettingsUrl = \"api/shell/layoutsettings/save\";\n private PostUserPictureUrl = \"api/user/picture/edit\";\n private isBlockedCustomerUrl = \"api/auth/isBlockedCustomer\";\n\n constructor(private http: RestService) {\n } \n\n public GetLayoutSettings(): Observable {\n return this.http.get(this.GetLayoutSettingsUrl);\n }\n\n public PostBreadcrumbs(path: string, params: Array>): Observable {\n return this.http.post(this.PostBreadcrumbsUrl, {path: path, params: params});\n }\n\n public PostLayoutSettings(settings: any) {\n return this.http.post(this.PostLayoutSettingsUrl, settings);\n }\n\n public PostUserPicture(userPictureData: any)\n {\n return this.http.post(this.PostUserPictureUrl, userPictureData);\n }\n\n public IsBlockedCustomer(): Observable {\n return this.http.get(this.isBlockedCustomerUrl);\n }\n}\n","import { Routes, RouterModule } from '@angular/router';\nimport { ShellComponent } from './shell.component';\nimport { ShellGuard } from './shell.guard';\nimport { DashboardModule } from '../dashboard/dashboard.module';\nimport { StructureUsersModule } from '../company/structure/structure-users.module';\nimport { UsersListModule } from '../company/users/users-list/users-list.module';\nimport { RolesListModule } from '../company/roles/roles-list/roles-list.module';\nimport { DictionariesRootModule } from '../dictionaries/dictionariesRoot.module';\nimport { CustomersListModule } from '../company/customers/customers-list/customers-list.module';\nimport { ObjectStatesModule } from '../configuration/object-states/object-states.module';\nimport { SystemVersionsModule } from '../configuration/system-versions/system-versions.module';\nimport { ProjectsListModule } from '../projects/projects-list/projects-list.module';\nimport { IssuesListModule } from '../issues/issues-list/issues-list.module';\nimport { WorklogsListModule } from '../worklogs/worklogs-list/worklogs-list.module';\nimport { EmployeesModule } from '../company/employees/employes.module';\nimport { ProjectType } from '../projects/projects.model';\nimport { IssuesExtModule } from '../issues-external/issues-ext.module';\nimport { AbsencesListModule } from '../absences/absences-list/absences-list.module';\nimport { HolidayCalendarModule } from '../configuration/holiday-calendar/holiday-calendar.module';\nimport { RcpReportModule } from '../rcpreport/rcpreport.module';\n\nconst routes: Routes = [\n {\n path: '', component: ShellComponent, canActivate: [ShellGuard],\n children: [\n { path: '', redirectTo: 'shell', pathMatch: 'full' },\n { path: 'dashboard', loadChildren: () => DashboardModule },\n { path: 'companystructure', loadChildren: () => StructureUsersModule, canActivate: [ShellGuard], data: { claimType: 'Role' } },\n { path: 'users', loadChildren: () => UsersListModule, canActivate: [ShellGuard], data: { claimType: 'User' } },\n { path: 'employees', loadChildren: () => EmployeesModule, canActivate: [ShellGuard], data: { claimType: 'Employee' } },\n { path: 'customers', loadChildren: () => CustomersListModule, canActivate: [ShellGuard], data: { claimType: 'Customer' } },\n { path: 'projects', loadChildren: () => ProjectsListModule, canActivate: [ShellGuard], data: { type: ProjectType.Project, claimType: 'Project' } },\n { path: 'orders', loadChildren: () => ProjectsListModule, canActivate: [ShellGuard], data: { type: ProjectType.Order, claimType: 'Project' } },\n { path: 'services', loadChildren: () => ProjectsListModule, canActivate: [ShellGuard], data: { type: ProjectType.Service, claimType: 'Project' } },\n { path: 'consultations', loadChildren: () => ProjectsListModule, canActivate: [ShellGuard], data: { type: ProjectType.Consultations, claimType: 'Project' } },\n { path: 'issues', loadChildren: () => IssuesListModule, canActivate: [ShellGuard], data: { claimType: 'Issue' } },\n { path: 'worklogs', loadChildren: () => WorklogsListModule, canActivate: [ShellGuard], data: { claimType: 'Worklog' } },\n { path: 'companyroles', loadChildren: () => RolesListModule, canActivate: [ShellGuard], data: { claimType: 'Role' } },\n { path: 'dictionary', loadChildren: () => DictionariesRootModule, canActivate: [ShellGuard], data: { claimType: 'UniversalDictionary' } },\n { path: 'extissues', loadChildren: () => IssuesExtModule, canActivate: [ShellGuard], data: { claimType: 'IssueExt' } },\n { path: 'absences', loadChildren: () => AbsencesListModule, canActivate: [ShellGuard], data: { claimType: 'Absence' } },\n { path: 'configuration/objectstates', loadChildren: () => ObjectStatesModule, canActivate: [ShellGuard], data: { claimType: 'UniversalDictionary' } },\n { path: 'configuration/systemversions', loadChildren: () => SystemVersionsModule, canActivate: [ShellGuard], data: { claimType: 'SystemVersion' } },\n { path: 'configuration/holidaycalendar', loadChildren: () => HolidayCalendarModule, canActivate: [ShellGuard], data: { claimType: 'HolidayCalendar' } },\n { path: 'rcpreport', loadChildren: () => RcpReportModule, canActivate: [ShellGuard], data: { claimType: 'hasExtIssuesRcpReportPermission' }}\n\n ]\n }\n];\n\nexport const shellRouting = RouterModule.forChild(routes);\n","module.exports = \"\\n\\n\\n\\n\\n \"","import { SidebarMenu } from './sidebar-menu.models';\nimport { Component, Input, OnDestroy, ChangeDetectorRef, EventEmitter, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { MediaMatcher } from '@angular/cdk/layout';\nimport { ShellSideNavService } from '../shell-sidenav.service';\nimport { SettingsService } from '../../core/settings/settings.service';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\ndeclare var $: any;\n\n@Component({\n selector: '[smpSidebarElement]',\n templateUrl: './sidebar-menu-element.component.html'\n})\n\nexport class SidebarMenuElementComponent implements OnDestroy {\n\n @Input() elementsToRender: SidebarMenu[];\n @Input() isSubMenu: boolean = false;\n\n public mobileQuery: MediaQueryList;\n\n private isMouseOnFloatingNav: boolean = false;\n\n constructor(\n private router: Router,\n private shellSideNavService: ShellSideNavService,\n private settings: SettingsService,\n changeDetectorRef: ChangeDetectorRef,\n media: MediaMatcher) {\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\n this.mobileQuery.addListener(() => changeDetectorRef.detectChanges());\n }\n\n public ngOnDestroy() {\n //this.subscription.unsubscribe();\n }\n\n private setClasses(element: SidebarMenu) {\n return { 'active': element.isActive, 'open': this.isOpened(element) }\n }\n\n private isOpened(element: SidebarMenu) {\n return element.childElements && element.childElements.length > 0 && element.expanded;\n }\n\n private onElementClick(event, element: SidebarMenu) {\n if(event){\n event.preventDefault();\n }\n\n if (this.showArrow(element)) {\n if(this.settings.getLayoutSetting('isCollapsed') \n || this.settings.getLayoutSetting('isCollapsedText')\n || this.settings.getLayoutSetting('asideHover')){\n return;\n }\n if (element.childElements.length > 0) {\n let isExpanded = element.expanded; \n this.elementsToRender.forEach( el => el.expanded = false ); \n element.expanded = !isExpanded; \n }\n }\n if (element.path) {\n var isOnMobile = this.mobileQuery.matches;\n if(isOnMobile)\n {\n this.settings.setLayoutSetting('asideToggled', false);\n }\n this.shellSideNavService.CloseSideNav();\n this.router.navigate([element.path]);\n }\n }\n\n private onElementHover(event, element: SidebarMenu) {\n let self = this;\n this.removeFloatingNav();\n if((this.settings.getLayoutSetting('isCollapsed') \n || this.settings.getLayoutSetting('isCollapsedText')\n || this.settings.getLayoutSetting('asideHover')) \n && element.childElements.length > 0){\n event.preventDefault(); \n let target = $(event.target);\n this.calculateHoverMenuPosition(target, element);\n }\n }\n \n private onleave(event, element: SidebarMenu) { \n let self = this;\n }\n\n\n private setArrow(element: SidebarMenu) {\n return {\n 'fa-angle-right': !element.expanded,\n 'fa-angle-down': element.expanded\n };\n }\n\n private showArrow(element: SidebarMenu) {\n return element.childElements && element.childElements.length > 0;\n }\n\n private calculateHoverMenuPosition(parent, element: SidebarMenu){\n let target = parent;\n let ul = target;\n let anchor = target;\n // find the UL\n if (!target.is('a')) {\n anchor = target.parent('a');\n }\n\n ul = $(`
          `);\n\n let $aside = $('.aside-container'); \n let floatingNav = ul.clone().appendTo($aside); \n floatingNav.on('mouseleave', function(e,submenu){\n this.removeFloatingNav();\n this.isMouseOnFloatingNav = false;\n }.bind(this));\n floatingNav.on('mouseenter', function(e,submenu){\n this.isMouseOnFloatingNav = true;\n }.bind(this));\n \n element.childElements.forEach(subMenu => {\n let li = $(`
        • `).appendTo(floatingNav);\n \n let a = $(``).appendTo(li);\n a.on('click', function(e) {\n e.preventDefault(); \n if (subMenu.path) {\n this.shellSideNavService.CloseSideNav();\n this.router.navigate([subMenu.path]);\n this.removeFloatingNav(); \n }\n }.bind(this));\n \n let span = $(``+subMenu.name+``).appendTo(a);\n });\n\n if (!ul.length) {\n return; \n }\n let liPos = anchor.parent().position().top;\n let parentDivPosition = anchor.parent().parent().parent().parent().position().top // main side div top position\n let $asideInner = $aside.children('.aside-inner'); // for top offset calculation\n let itemTop = ((parentDivPosition) + liPos);\n let vwHeight = $(window).height();\n floatingNav\n .removeClass('opening') // necesary for demo if switched between normal//collapsed mode\n .addClass('nav-floating')\n .css({\n position: this.settings.getLayoutSetting('isFixed') ? 'fixed' : 'absolute',\n top: itemTop,\n bottom: (floatingNav.outerHeight(true) + itemTop > vwHeight) ? 0 : 'auto'\n });\n this.listenForExternalClicks();\n }\n listenForExternalClicks() {\n let $doc = $(document).on('click.sidebar', (e) => {\n if (!$(e.target).parents('.aside-container').length) {\n this.removeFloatingNav();\n $doc.off('click.sidebar');\n }\n });\n}\n\n removeFloatingNav() {\n $('.nav-floating').remove();\n }\n\n public hideMenuWhenLeaveOutside() {\n setTimeout(() => {\n if(!this.isMouseOnFloatingNav) {\n this.removeFloatingNav();\n }\n }, 100);\n }\n\n public onElementContextMenu(event){\n event.preventDefault();\n }\n}\n","module.exports = \"\\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \"","import { Component, OnInit, Output, EventEmitter, ViewChild, Input } from '@angular/core';\nimport { SidebarMenuRest } from './sidebar-menu.rest';\nimport { SidebarMenu } from './sidebar-menu.models';\nimport { SettingsService } from '../../core/settings/settings.service';\nimport { Router } from '@angular/router';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n selector: '[smpSidebarMenu]',\n templateUrl: './sidebar-menu.component.html',\n providers: [SidebarMenuRest]\n})\nexport class SidebarMenuComponent implements OnInit {\n @Input() onCollapseToggled: EventEmitter;\n\n private collapseToggledSupsctiption: Subscription;\n public menuElements: SidebarMenu[] = [];\n public onMenuItemsLoaded = new EventEmitter();\n\n constructor(\n private menuService: SidebarMenuRest,\n private router: Router,\n public settings: SettingsService\n ) { }\n\n ngOnInit() {\n this.menuService.getMenuItems().subscribe(elems => {\n this.menuElements = elems;\n this.menuElements.forEach(elem => {\n\n if (elem.childElements.length > 0) {\n elem.isFirstLevel = true;\n }\n } );\n this.onMenuItemsLoaded.next(this.menuElements);\n });\n this.collapseToggledSupsctiption = this.onCollapseToggled.subscribe( data => {\n if (data) {\n this.onSidebarMenuCollapsed();\n }\n });\n }\n\n private onSidebarMenuCollapsed(){\n this.menuElements.forEach(elem => {\n elem.expanded = false;\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SidebarMenuComponent } from './sidebar-menu.component';\nimport { SidebarMenuElementComponent } from './sidebar-menu-element.component';\nimport { SharedModule } from '../../core/shared/shared.module';\nimport { UserblockComponent } from './userblock/userblock.component';\nimport { UserblockService } from './userblock/userblock.service';\nimport { ShellModule } from '../shell.module';\nimport { UnsafeHtmlSanitizerPipe } from './userblock/unsafeHtmlSanitizer.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n SharedModule\n ],\n exports: [ SidebarMenuComponent ],\n declarations: [SidebarMenuComponent, SidebarMenuElementComponent, UserblockComponent, UnsafeHtmlSanitizerPipe],\n providers: [UserblockService]\n})\nexport class SidebarMenuModule {\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { RestService } from '../../core/core/rest.service';\n\n@Injectable()\nexport class SidebarMenuRest {\n\n constructor(private http: RestService) {\n }\n\n public getMenuItems(): Observable {\n return this.http.get('api/shell/sidebarmenu');\n }\n}\n","import { Pipe } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'unsafeHtmlSanitizer'\n})\nexport class UnsafeHtmlSanitizerPipe {\n /**\n *\n */\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(html): any {\n return this.sanitizer.bypassSecurityTrustResourceUrl(html);\n }\n}\n","module.exports = \"
          \\n\\n
          \\n
          \\n \\\"Avatar\\\"\\n \\\"Avatar\\\"\\n
          \\n
          \\n\\n
          \\n {{ 'sidebar.WELCOME' | translate }} {{user.firstName}}\\n {{user.role}}\\n
          \\n
          \\n\"","module.exports = \"\"","import { Component, OnInit, Input } from '@angular/core';\nimport { UserblockService } from './userblock.service';\nimport { ThemesService } from '../../../core/themes/themes.service';\nimport { ProfilePictureService } from \"../../../profile-picture/profile-picture.service\";\n\n@Component({\n selector: 'app-loggeduserblock',\n templateUrl: './userblock.component.html',\n styleUrls: ['./userblock.component.scss']\n})\nexport class UserblockComponent implements OnInit {\n private user: any = {};\n userHasPicture: boolean = false;\n constructor(public userblockService: UserblockService,\n private themesService: ThemesService,\n private profilePictureService: ProfilePictureService) { }\n\n ngOnInit() {\n this.userblockService.getLoggedUser().subscribe(user => {\n this.user = user;\n this.userHasPicture = user.picture !== null && user.picture !== undefined && user.picture !== '';\n let userTheme = user.layoutThemeName;\n if(userTheme){\n this.themesService.setTheme(userTheme);\n }\n });\n this.profilePictureService.currentProfilePicture.subscribe(picture => {this.user.picture = picture; this.userHasPicture = this.user.picture !== null});\n }\n userBlockIsVisible() {\n return this.userblockService.getVisibility();\n}\n \n}\n","import { Injectable } from '@angular/core';\nimport { LoginRest } from '../../../login/login.rest';\n\n@Injectable()\nexport class UserblockService {\n public userBlockVisible: boolean;\n constructor(\n public restService: LoginRest\n ) {\n // initially visible\n this.userBlockVisible = true;\n }\n\n getVisibility() {\n return this.userBlockVisible;\n }\n\n setVisibility(stat = true) {\n this.userBlockVisible = stat;\n }\n\n toggleVisibility() {\n this.userBlockVisible = !this.userBlockVisible;\n }\n\n getLoggedUser():any{\n return this.restService.GetLoggedUser();\n\n }\n}\n","module.exports = \"
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \"","module.exports = \".spinner-background {\\n position: fixed;\\n top: 50%;\\n left: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n transition: visibility 0.5s, opacity 0.5s ease-in-out; }\\n\\n.spinner-background div div {\\n box-shadow: 7px 5px 5px grey; }\\n\\n.spinner-show {\\n transition-delay: 0.3s;\\n visibility: visible;\\n opacity: 1; }\\n\\n.spinner-hide {\\n transition-delay: 0.1s;\\n visibility: hidden;\\n opacity: 0; }\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\n\n@Component({\n selector: 'app-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss']\n})\nexport class SpinnerComponent implements OnInit {\n @Input() show: boolean = false;\n\n constructor(private spinnerService: SpinnerService) { }\n\n ngOnInit() {\n this.spinnerService._register(this);\n }\n\n}\n","export class UserMenuItem {\n text: string;\n methodName: string;\n\n constructor(text: string, methodName: string){\n this.text = text;\n this.methodName = methodName;\n }\n}","module.exports = \"\\n
            \\n
            \\n
            \\n
          • \\n
            \\n {{menuItem.text}}\\n
            \\n
          • \\n
            \\n
            \\n
          \\n\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { LoginService } from '../../login/login.service';\nimport { Router } from '@angular/router';\nimport { UserMenuItem } from './user-menu-item';\nimport { ProfilePictureSelectionComponent } from '../profile-picture-selection/profile-picture-selection.component';\n\n@Component({\n selector: 'smp-user-menu',\n templateUrl: './user-menu.component.html'\n})\nexport class UserMenuComponent implements OnInit {\n private menuItems: UserMenuItem[];\n\n @ViewChild(ProfilePictureSelectionComponent) profilePictureSelection: ProfilePictureSelectionComponent;\n\n constructor(\n private loginService: LoginService,\n private router: Router) {\n\n this.menuItems = [\n new UserMenuItem(\"Zdjęcie profilowe\", \"editProfilePictureClick\"),\n new UserMenuItem(\"Wyloguj\", \"logoutClick\")\n ];\n }\n\n ngOnInit() {\n }\n\n logoutClick() {\n this.loginService.logout().subscribe(() => {\n const redirectUrl = \"login\";\n this.router.navigate([redirectUrl]);\n });\n }\n\n editProfilePictureClick() {\n this.profilePictureSelection.editProfilePicture();\n }\n}\n","\nimport { WorklogDetailsRouting } from \"./worklog-details.routing\";\nimport { ProjectRowsComponent } from \"../../projects/project-rows/project-rows.component\";\nimport { CustomersListComponent } from \"../../company/customers/customers-list/customers-list.component\";\nimport { IssuesListComponent } from \"../../issues/issues-list/issues-list.component\";\nimport { WorklogsRest } from \"../worklogs.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { ProjectsRest } from \"../../projects/projects.rest\";\nimport { CustomersRest } from \"../../company/customers/customers.rest\";\nimport { IssuesRest } from \"../../issues/issues.rest\";\nimport { NgModule } from \"@angular/core\";\nimport { WorklogDetailsModule } from \"./worklog-details.module\";\nimport { IssuesListModule } from \"../../issues/issues-list/issues-list.module\";\n\n@NgModule({\n imports:[\n WorklogDetailsModule,\n WorklogDetailsRouting,\n IssuesListModule\n ],\n declarations:[],\n entryComponents: [ProjectRowsComponent, CustomersListComponent, IssuesListComponent],\n providers: [WorklogsRest, LoginRest, ProjectsRest, CustomersRest, IssuesRest ],\n exports: []\n})\nexport class WorklogDetailsIssueModule{}","\nimport { CommonModule } from \"@angular/common\";\nimport { WorklogDetailsRouting } from \"./worklog-details.routing\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { CustomersListModule } from \"../../company/customers/customers-list/customers-list.module\";\nimport { ProjectsRowsModule } from \"../../projects/project-rows/project-rows.module\";\nimport { WorklogDetailsComponent } from \"./worklog-details.component\";\nimport { WorklogHeaderComponent } from \"./worklog-header/worklog-header.component\";\nimport { ProjectRowsComponent } from \"../../projects/project-rows/project-rows.component\";\nimport { CustomersListComponent } from \"../../company/customers/customers-list/customers-list.component\";\nimport { IssuesListComponent } from \"../../issues/issues-list/issues-list.component\";\nimport { WorklogsRest } from \"../worklogs.rest\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { ProjectsRest } from \"../../projects/projects.rest\";\nimport { CustomersRest } from \"../../company/customers/customers.rest\";\nimport { IssuesRest } from \"../../issues/issues.rest\";\nimport { NgModule } from \"@angular/core\";\nimport { IssueListModule } from \"../../issues/issues-list/issue-list.module\";\nimport { WorklogDetailsModule } from \"./worklog-details.module\";\n\n@NgModule({\n imports:[\n CommonModule,\n SharedModule,\n WorklogDetailsModule,\n WorklogDetailsRouting,\n CustomersListModule,\n ProjectsRowsModule,\n IssueListModule \n ],\n declarations:[],\n entryComponents: [WorklogDetailsComponent, WorklogHeaderComponent, ProjectRowsComponent, CustomersListComponent, IssuesListComponent],\n providers: [WorklogsRest, LoginRest, ProjectsRest, CustomersRest, IssuesRest ,WorklogDetailsComponent],\n exports: []\n})\nexport class WorklogDetailsNoIssueModule{}","module.exports = \"
          \\n \\n \\n \\n \\n \\n \\n \\n
          \\n
          \\n
          \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n
          \"","module.exports = \"\"","import { Component, OnInit, ViewChild, AfterViewInit, HostListener } from '@angular/core';\nimport { Worklog } from '../worklogs.model';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { WorklogsRest } from '../worklogs.rest';\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\nimport { WorklogHeaderComponent } from './worklog-header/worklog-header.component';\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\nimport { IssueService } from '../../issues/issue.service';\nimport { Issue } from '../../issues/issues.model';\n\n@Component({\n selector: 'app-worklog-details',\n templateUrl: './worklog-details.component.html',\n styleUrls: ['./worklog-details.component.scss']\n})\nexport class WorklogDetailsComponent implements OnInit, HasPermissions, AfterViewInit {\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private rest: WorklogsRest,\n private permissionsService: PermissionsService,\n private spinnerService: SpinnerService,\n private gridParamsRestoringService: GridParamsRestoringService,\n private issueService: IssueService\n ) {\n }\n\n\n public worklog: Worklog;\n public isNew = false;\n public viewEnabled = false;\n public issue: Issue;\n public isCopy = false;\n private isSaving = false;\n\n private menuButtons: MenuButton[] = [\n { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false },\n { text: 'COMMONBUTTONS_close', class: \"btn-danger\", icon: '', onClick: () => { this.close(); }, enabled: true, isForSelected: false }\n ];\n private saveButton = { text: 'COMMONBUTTONS_save', class: \"btn-success\", icon: '', onClick: () => { this.save(); }, enabled: false, isForSelected: false };\n\n permissions: Permissions;\n\n @ViewChild(WorklogHeaderComponent) worklogHeaderComponent: WorklogHeaderComponent;\n\n @HostListener('document:keydown.control.s', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.save();\n event.preventDefault();\n }\n\n ngOnInit() {\n this.spinnerService.show();\n this.setPermissions('Worklog');\n if (this.permissions.canAdd || this.permissions.canEdit) {\n this.menuButtons.find(x => x.text === 'COMMONBUTTONS_save').enabled = true;\n this.saveButton.enabled = true;\n }\n\n this.route.queryParams.subscribe(params => {\n if (params.isCopy) {\n this.isCopy = params.isCopy;\n this.rest.copyWorklog(this.route.snapshot.params['Id']).subscribe(worklog => {\n this.isNew = true;\n this.worklog = worklog;\n this.worklog.workDate = new Date();\n this.worklogHeaderComponent.setModel(this.worklog, this.isNew, null, this.permissions);\n this.spinnerService.hide();\n });\n }\n else {\n this.issueService.currentIssue.subscribe((issue: Issue) => {\n if (issue) {\n this.issue = issue;\n } else {\n this.issue = null\n }\n });\n this.spinnerService.show();\n let worklogId: number = null;\n if (params.id !== undefined) {\n worklogId = parseInt(params.id);\n }\n if (worklogId !== null) {\n if (worklogId > 0) {\n this.isNew = false;\n this.rest.getWorklog(worklogId).subscribe(worklog => {\n this.worklog = worklog;\n if (this.issue) {\n this.worklog.forIssue = true;\n }\n this.worklogHeaderComponent.setModel(this.worklog, this.isNew, this.issue, this.permissions);\n this.spinnerService.hide();\n });\n } else {\n this.isNew = false;\n this.worklog = this.issue.worklogs.find(x => x.id === worklogId);\n if (this.issue)\n this.worklog.forIssue = true;\n this.worklogHeaderComponent.setModel(this.worklog, this.isNew, this.issue, this.permissions);\n this.spinnerService.hide();\n }\n }\n else {\n this.isNew = true;\n this.rest.getEmptyWorklog().subscribe(worklog => {\n this.worklog = worklog;\n if (this.issue)\n this.worklog.forIssue = true;\n this.worklogHeaderComponent.setModel(this.worklog, this.isNew, this.issue, this.permissions);\n this.spinnerService.hide();\n });\n }\n }\n });\n }\n\n ngAfterViewInit() {\n this.spinnerService.hide();\n }\n\n setPermissions(claimType: string): void {\n this.permissions = this.permissionsService.getUserPermissions(claimType);\n }\n\n public save() {\n if (this.worklogHeaderComponent.isInvalid()) {\n sweetAlert('Dane sa niekomplete, nie mozna zapisać');\n return;\n }\n if (this.worklogHeaderComponent.worklog.invoiceTime === 0) {\n sweetAlert('Czas fakturowany jest równy zero. Czy kontynuować zapis?', {\n buttons: {\n yes: {\n text: \"Tak\",\n value: \"yes\"\n },\n no: {\n text: \"Nie\",\n value: \"no\",\n }\n }\n })\n .then((value) => {\n switch (value) {\n case \"yes\":\n this.saveWorklog();\n break;\n }\n });\n } else {\n this.saveWorklog();\n }\n }\n\n private saveWorklog() {\n if (this.isSaving) {\n return;\n }\n this.isSaving = true;\n\n if (this.worklog.forIssue) {\n this.worklog.employeeFullName = this.worklogHeaderComponent.employeesRows.find(x => x.id === this.worklog.employeeId).name;\n this.worklog.numberString = this.worklog.numeratorType + '/' + this.worklog.year.toString() + '/' + this.worklog.serie + '/' + this.worklog.number;\n if (this.worklog.id !== 0 && this.worklog.issueId === this.issue.id) {\n this.issue.worklogs.splice(this.issue.worklogs.indexOf(this.worklog), 1);\n this.issue.worklogs.push(this.worklog);\n } else if (this.worklog.issueId === this.issue.id && this.issue.id === 0) {\n this.worklog.id = (this.issue.worklogs.length !== 0 ? (-1) * Math.min.apply(Math, this.issue.worklogs.map(function (o) { return o.id; })) : 0);\n this.issue.worklogs.push(this.worklog);\n }\n }\n if ((this.worklog.id >= 0 && !this.worklog.forIssue) || (this.worklog.forIssue && this.issue.id !== 0)) {\n const action = this.rest.saveWorklog;\n action.call(this.rest, this.worklog).subscribe(id => {\n if (this.isNew) {\n this.gridParamsRestoringService.saveAddingNewRowInfo(id);\n }\n if (this.worklog.forIssue && this.issue.id !== 0) {\n this.worklog.id = id;\n this.issue.worklogs.push(this.worklog);\n }\n this.isSaving = false;\n this.close();\n }, (error) => {\n this.isSaving = false;\n });\n } else {\n this.isSaving = false;\n this.close();\n }\n }\n\n private close() {\n this.issueService.passIssue(this.issue);\n let pathToReturn = '../../';\n if (this.isCopy) {\n pathToReturn = '../../../';\n }\n if (this.issue) {\n this.router.navigate([pathToReturn], { queryParams: { id: this.issue.id }, relativeTo: this.route });\n } else {\n this.router.navigate([pathToReturn], { relativeTo: this.route });\n }\n }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { WorklogDetailsComponent } from \"./worklog-details.component\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { WorklogsRest } from \"../worklogs.rest\";\nimport { ProjectsRowsModule } from \"../../projects/project-rows/project-rows.module\";\nimport { CustomersListModule } from \"../../company/customers/customers-list/customers-list.module\";\nimport { ProjectRowsComponent } from \"../../projects/project-rows/project-rows.component\";\nimport { CustomersListComponent } from \"../../company/customers/customers-list/customers-list.component\";\nimport { ProjectsRest } from \"../../projects/projects.rest\";\nimport { CustomersRest } from \"../../company/customers/customers.rest\";\nimport { IssuesRest } from \"../../issues/issues.rest\";\nimport { WorklogHeaderComponent } from \"./worklog-header/worklog-header.component\";\n\n@NgModule({\n imports:[\n CommonModule,\n SharedModule,\n CustomersListModule,\n ProjectsRowsModule\n ],\n declarations:[WorklogDetailsComponent, WorklogHeaderComponent ],\n entryComponents: [ProjectRowsComponent, CustomersListComponent],\n providers: [WorklogDetailsComponent, WorklogHeaderComponent, WorklogsRest, LoginRest, ProjectsRest, CustomersRest, IssuesRest ],\n exports: []\n})\nexport class WorklogDetailsModule{}","import { RouterModule, Routes } from \"@angular/router\";\nimport { WorklogDetailsComponent } from \"./worklog-details.component\";\n\nconst routes: Routes =[\n {path: ':Id', component: WorklogDetailsComponent},\n {path: 'new', component: WorklogDetailsComponent},\n {path: 'copy/:Id', component: WorklogDetailsComponent}\n];\n\nexport const WorklogDetailsRouting = RouterModule.forChild(routes);","module.exports = \"
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.data.name}} ({{option.data.guid}})\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Uzupełnij wartość. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n Uzupełnij wartość. \\r\\n Wciśnij 'enter'. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n Uzupełnij wartość. \\r\\n Wciśnij 'enter'. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.data.name}} [{{option.data.guid}}]\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Uzupełnij wartość. \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
          \\r\\n \\r\\n \\r\\n Uzupełnij wartość. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{option.data.name}} ({{option.data.guid}})\\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n Wartośc musi być pomiędzy {{timeSpent.min}} a {{timeSpent.max}}. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n Wartośc musi być pomiędzy {{invoiceTime.min}} a {{invoiceTime.max}}. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n Wartośc musi być pomiędzy {{timeSpent.min}} a {{timeSpent.max}}. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n \\r\\n \\r\\n Wartośc musi być pomiędzy {{invoiceTime.min}} a {{invoiceTime.max}}. \\r\\n \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \\r\\n
          \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Worklog } from '../../worklogs.model';\nimport { ObjectToSelect } from '../../../core/shared/objectToSelect.model';\nimport { NumeratorComponent } from '../../../numerator/numerator.component';\nimport { NgForm } from '@angular/forms';\nimport { WorklogsRest } from '../../worklogs.rest';\nimport { DateInputModel } from '../../../core/shared/date-input/date-input.model';\nimport { NumeratorType } from '../../../numerator/numerator.model';\nimport { NgxSelectOption, INgxSelectOption } from 'ngx-select-ex';\nimport { ProjectsRest } from '../../../projects/projects.rest';\nimport { IssuesRest } from '../../../issues/issues.rest';\nimport { CustomersRest } from '../../../company/customers/customers.rest';\nimport { CustomerRow } from '../../../company/customers/customers.model';\nimport { IssueRow, Issue } from '../../../issues/issues.model';\nimport { SelectionMode } from '../../../core/shared/grid/grid.model';\nimport { CustomersListComponent } from '../../../company/customers/customers-list/customers-list.component';\nimport { IssuesListComponent } from '../../../issues/issues-list/issues-list.component';\nimport { SpinEditComponent } from '../../../core/shared/spinedit/spinedit.component';\nimport { Permissions } from '../../../core/services/permissions/permissions.model';\nimport { LoginRest } from '../../../login/login.rest';\nimport { DialogService } from '../../../core/shared/dialog/dialog.service';\nimport { DialogConfig } from '../../../core/shared/dialog/dialog-config';\n\nconst workDateInternalName: string = 'WorkDate';\n\n@Component({\n selector: 'app-worklog-header',\n templateUrl: './worklog-header.component.html'\n})\nexport class WorklogHeaderComponent implements OnInit {\n\n constructor(\n private rest: WorklogsRest,\n private projRest: ProjectsRest,\n private custRest: CustomersRest,\n private issueRest: IssuesRest,\n private dialog: DialogService,\n private loginRest: LoginRest) { }\n\n\n public employeesRows: ObjectToSelect[];\n public projectSteps: ObjectToSelect[];\n public workDate: DateInputModel;\n\n public isNew: boolean;\n public worklog: Worklog;\n\n private afterViewInit = false;\n public isValid: boolean = true;\n\n private oldProject: string;\n private oldCustomer: string;\n private oldPayer: string;\n private oldIssue: string;\n private fromIssue = false;\n\n permissions: Permissions;\n @ViewChild(NumeratorComponent) numeratorComponent: NumeratorComponent;\n @ViewChild('worklogForm') worklogForm: NgForm;\n @ViewChild('invoiceTime') invoiceTime: SpinEditComponent;\n @ViewChild('timeSpent') timeSpent: SpinEditComponent;\n\n ngOnInit() {\n //this.getEmployees();\n }\n\n private onElementValidation(element, isValid: boolean) {\n\n if (!element) {\n return;\n }\n\n if (element.internalName == workDateInternalName) {\n this.worklog.workDate = element.value;\n }\n }\n\n public setModel(worklog: Worklog, isNew: boolean, issue: Issue, permission: Permissions) {\n this.permissions = permission;\n this.worklog = worklog;\n\n this.isNew = isNew;\n if (issue !== null) {\n this.worklog.issueId = issue.id;\n this.worklog.issueName = issue.title;\n if (isNew) {\n this.worklog.customerId = issue.customerId;\n this.worklog.customerCode = issue.customerCode;\n this.worklog.payerId = issue.customerId;\n this.worklog.payerCode = issue.customerCode;\n this.worklog.projectStepId = issue.projectStepId;\n this.worklog.projectStepName = issue.projectStepName;\n this.worklog.reporterId = issue.reporterId;\n this.buildDescription();\n }\n this.fromIssue = true;\n }\n this.numeratorComponent.setModel(this.worklog, NumeratorType.worklog, 'Worklog');\n this.initializeDate();\n if (this.worklog.customerId) {\n this.getCustomerProjectSteps(this.worklog.customerId);\n this.getEmployees(this.worklog.customerId);\n } else {\n this.getEmployees(0);\n }\n if (!this.worklog.employeeId) {\n this.loginRest.GetLoggedUser().subscribe((user: any) => {\n this.worklog.employeeId = user.employeeId;\n this.worklog.employeeFullName = user.name;\n });\n }\n this.afterViewInit = true;\n }\n\n onKeyDownCustomer() {\n this.oldCustomer = this.worklog.customerCode;\n }\n\n public onKeyCustomer(event: any) {\n if (this.oldCustomer !== this.worklog.customerCode) {\n this.worklog.customerId = null;\n this.worklog.payerId = null;\n this.clearCustomerInfo();\n }\n if (event.key === 'Enter' || (event.key === undefined && event.returnValue === true)) {\n this.searchCustomer();\n }\n }\n\n onKeyDownPayer() {\n this.oldPayer = this.worklog.payerCode;\n }\n\n public onKeyPayer(event: any) {\n if (this.oldPayer !== this.worklog.payerCode) {\n this.worklog.payerId = null;\n }\n if (event.key === 'Enter' || (event.key === undefined && event.returnValue === true)) {\n this.searchPayer();\n }\n }\n\n // onKeyDownProject() {\n // this.oldProject = this.worklog.projectStepName;\n // }\n // public onKeyProject(event: any) {\n // if (this.oldProject !== this.worklog.projectStepName) {\n // this.worklog.projectStepId = null;\n // }\n // if (event.key === 'Enter') {\n // this.searchProject();\n // }\n // }\n\n onKeyDownIssue() {\n this.oldIssue = this.worklog.issueName;\n }\n public onKeyIssue(event: any) {\n if (this.oldIssue !== this.worklog.issueName) {\n this.worklog.issueId = null;\n }\n if (event.key === 'Enter') {\n this.searchIssue();\n }\n }\n\n public biggerThanZero(controlValue: number) {\n return controlValue <= 0;\n }\n\n private getEmployees(customerId: number) {\n this.rest.getUsersRows(customerId).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n let rows = result.sort((x, y) => x.name > y.name ? 1 : -1);\n this.employeesRows = rows;\n if (this.worklog && this.worklog.reporterId) {\n if (!rows.some(x => x.id === this.worklog.reporterId)) {\n this.worklog.reporterId = null;\n }\n }\n if (this.fromIssue && this.isNew && this.worklog && !this.worklog.description) {\n this.buildDescription();\n }\n }\n });\n }\n\n private initializeDate() {\n this.workDate = new DateInputModel();\n this.workDate.isReadOnly = !this.permissions.canEdit;\n this.workDate.isRequired = false;\n this.workDate.name = 'Data pracy';\n this.workDate.value = new Date(this.worklog.workDate);\n this.workDate.valueStr = this.workDate.value.toDateString();\n this.workDate.withTime = false;\n this.workDate.internalName = workDateInternalName;\n }\n\n public onTimeSpentChange(event: number) {\n this.worklog.timeSpent = event;\n if (this.invoiceTime) {\n this.worklog.invoiceTime = event;\n }\n }\n\n public onStartDateChange(element, isValid: boolean) {\n if (!element || !isValid) {\n return;\n }\n this.worklog.workDate = this.workDate.value;\n this.workDate.valueStr = this.workDate.value.toDateString();\n }\n\n private selectEmployeeFilter(value: NgxSelectOption[]) {\n let selectedValue = value[0] ? value[0].data : new ObjectToSelect();\n this.worklog.employeeId = selectedValue.id;\n }\n\n private selectReporterFilter(value: NgxSelectOption[]) {\n let selectedValue = value[0] ? value[0].data : new ObjectToSelect();\n this.worklog.reporterId = selectedValue.id;\n }\n\n // private searchProject() {\n // if (this.worklog.customerId == null) {\n // sweetAlert('Należy najpierw wybrać kontrahenta');\n // return;\n // }\n // let data = {id: this.worklog.customerId , value: this.worklog.projectStepName};\n // this.projRest.getProjectByStepName(data).subscribe((result: ProjectRow[]) => {\n // if (result.length == 1) {\n // let projectRow = result[0];\n // this.worklog.projectStepName = projectRow.projectStepName;\n // this.worklog.projectStepId = projectRow.id;\n\n // } else {\n // this.openProjectsModal();\n // }\n // });\n // }\n\n private searchCustomer() {\n if (this.worklog.customerCode === '') {\n this.worklog.customerCode = null;\n }\n\n this.custRest.getCustomerRowsByName(this.worklog.customerCode).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let customer = result[0];\n this.worklog.customerId = customer.id;\n this.worklog.customerCode = customer.code;\n this.worklog.payerId = customer.id;\n this.worklog.payerCode = customer.code;\n // this.getCustomerProjectSteps(this.worklog.customerId);\n // this.getEmployees(customer.id);\n this.clearCustomerInfo();\n } else {\n this.openCustomerModal();\n }\n });\n }\n\n private searchPayer() {\n if (this.worklog.payerCode === '') {\n this.worklog.payerCode = null;\n }\n\n this.custRest.getCustomerRowsByName(this.worklog.payerCode).subscribe((result: CustomerRow[]) => {\n if (result.length == 1) {\n let payer = result[0];\n this.worklog.payerId = payer.id;\n this.worklog.payerCode = payer.code;\n } else {\n this.openPayerModal();\n }\n });\n }\n\n private clearCustomerInfo() { \n this.worklog.projectStepId = null;\n this.worklog.projectStepName = '';\n this.worklog.issueId = null;\n this.worklog.issueName = '';\n \n if (this.worklog.customerId) {\n this.getCustomerProjectSteps(this.worklog.customerId);\n this.getEmployees(this.worklog.customerId);\n } else { \n this.projectSteps = null; \n }\n }\n\n private searchIssue() {\n if (this.worklog.customerId == null) {\n sweetAlert('Należy najpierw wybrać kontrahenta');\n return;\n }\n\n if (this.worklog.projectStepId == null) {\n sweetAlert('Należy najpierw wybrać projekt');\n return;\n }\n\n let data = { id: this.worklog.projectStepId, value: this.worklog.issueName };\n this.issueRest.getIssueRowsByFilter(data).subscribe((result: IssueRow[]) => {\n if (result.length == 1) {\n let issueRow = result[0];\n this.worklog.issueId = issueRow.id;\n this.worklog.issueName = issueRow.fullTitle;\n } else {\n this.openIssueModal();\n }\n });\n }\n\n public openCustomerModal() {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz kontrahenta';\n dialogConf.maxwidth = '1050px';\n \n dialogConf.data = { selectList: true, initialFilters: { code: this.worklog.customerCode } };\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result != null) {\n this.worklog.customerId = result.id;\n this.worklog.customerCode = result.code;\n this.worklog.payerId = result.id;\n this.worklog.payerCode = result.code;\n this.worklog.projectStepId = null;\n this.worklog.projectStepName = '';\n this.worklog.issueId = null;\n this.worklog.issueName = '';\n this.getCustomerProjectSteps(this.worklog.customerId);\n this.getEmployees(result.id);\n }\n });\n }\n\n public openPayerModal() {\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz płatnika';\n dialogConf.maxwidth = '1050px';\n \n dialogConf.data = { selectList: true, initialFilters: { code: this.worklog.payerCode } };\n const ref = this.dialog.open(CustomersListComponent, dialogConf);\n\n ref.afterClosed.subscribe((result: CustomerRow) => {\n if (result != null) {\n this.worklog.payerId = result.id;\n this.worklog.payerCode = result.code;\n }\n });\n }\n\n public openIssueModal() {\n if (this.worklog.customerId == null) {\n sweetAlert('Należy najpierw wybrać kontrahenta');\n return;\n }\n\n if (this.worklog.projectStepId == null) {\n sweetAlert('Należy najpierw wybrać etap prjektu');\n return;\n }\n let dialogConf = new DialogConfig();\n dialogConf.selectionMode = SelectionMode.single;\n dialogConf.title = 'Wybierz zgłoszenie';\n dialogConf.maxwidth = '1000px';\n dialogConf.data = { projectStepId: this.worklog.projectStepId, initialFilters: { fullTitle: this.worklog.issueName } };\n const ref = this.dialog.open(IssuesListComponent, dialogConf);\n ref.afterClosed.subscribe((result: IssueRow) => {\n if (result != null) {\n this.worklog.issueId = result.id;\n this.worklog.issueName = result.fullTitle;\n }\n });\n }\n\n private checkSaveCondition() {\n if (this.worklog.issueName && this.worklog.issueName.length > 0 && this.worklog.issueId == null) {\n return false;\n }\n if (!this.invoiceTime.isValid) {\n return false;\n }\n if (!this.timeSpent.isValid) {\n return false;\n }\n return true;\n }\n\n public isInvalid() {\n if (this.checkSaveCondition()) {\n return this.worklogForm.invalid;\n }\n return true;\n }\n\n public buildDescription() {\n if (this.employeesRows && this.employeesRows.some(x => x.id === this.worklog.reporterId)) {\n this.worklog.description = this.employeesRows.find(x => x.id === this.worklog.reporterId).name.split(' (')[0] + ': Realizacja zgłoszenia #' + this.worklog.issueId.toString();\n }\n }\n\n\n private getCustomerProjectSteps(customerId: number) {\n const action = this.projRest.getCustomerProjectStepsForWorklog;\n action.call(this.rest, customerId, this.worklog.id).subscribe((result: ObjectToSelect[]) => {\n if (result) {\n this.projectSteps = result;\n if (result.filter(x => x.id === this.worklog.projectStepId).length === 0) {\n this.worklog.projectStepId = null;\n this.worklog.projectStepName = '';\n }\n }\n });\n }\n\n private searchCallback(search: string, item: INgxSelectOption): boolean {\n search = search.toLowerCase();\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\n }\n\n private removeRelatedIssue() {\n if (this.fromIssue)\n return;\n\n this.worklog.issueId = null;\n this.worklog.issueName = null;\n }\n}\n\n","module.exports = \"\\n
          \\n
          \\n \\n \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \\n \\n \\n \\n \\n \\n \\n {{option.data.name}} ({{option.data.guid}})\\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 {{ successMessage }}\\n
          \\n \\n \\n
          \\n
          \\n
          \\n
          \\n
          \"","import { Component, OnInit, ViewChild, HostListener, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { TranslatorService } from '../../core/translator/translator.service';\r\nimport { GridComponent } from '../../core/shared/grid/grid.component';\r\nimport { MessageBoxComponent } from '../../core/shared/message-box.component';\r\nimport { WorklogsRest } from '../worklogs.rest';\r\nimport { DictionaryRest } from '../../dictionaries/dictionary/dictionary.rest';\r\nimport { DateInputModel } from '../../core/shared/date-input/date-input.model';\r\nimport { NgxSelectComponent, INgxSelectOption } from 'ngx-select-ex';\r\nimport { LoginRest } from '../../login/login.rest';\r\nimport { WorklogRow } from '../worklogs.model';\r\nimport { ObjectToSelect } from '../../core/shared/objectToSelect.model';\r\nimport { HasPermissions, Permissions } from '../../core/services/permissions/permissions.model';\r\nimport { GridMainFilter, GoupedColumn, GroupFunction, SortedColumn, GridSelection, SelectionMode } from '../../core/shared/grid/grid.model';\r\nimport { GridParamsRestorable } from '../../core/services/grid-params-restoring/grid-params-restoring.model';\r\nimport { GridParamsRestoringService } from '../../core/services/grid-params-restoring/grid-params-restoring.service';\r\nimport { SpinnerService } from '../../core/services/spinner-handler/spinner-handler.service';\r\nimport { MenuButton } from '../../core/shared/tabmenu/tabmenu.model';\r\nimport { PermissionsService } from '../../core/services/permissions/permissions.service';\r\nimport { IssueService } from '../../issues/issue.service';\r\n\r\nconst dateFromInternalName = 'DateFrom';\r\nconst dateToInternalName = 'DateTo';\r\n\r\n@Component({\r\n selector: 'app-worklogs-list',\r\n templateUrl: './worklogs-list.component.html'\r\n})\r\nexport class WorklogsListComponent extends GridSelection implements OnInit, AfterViewInit, HasPermissions, GridParamsRestorable {\r\n readonly detailsPath: string = '/worklogs/worklog';\r\n public path: string;\r\n\r\n public showSuccessMessage: boolean;\r\n public successMessage: string;\r\n\r\n public currentUser: any;\r\n public projectTypes: any;\r\n public customerRows: ObjectToSelect[];\r\n public usersRows: ObjectToSelect[];\r\n public initialFilters: any;\r\n public initialPageNumber = 0;\r\n public initialPageSize: number;\r\n public initialSortedColumn: SortedColumn;\r\n public previousMainFilters: any = {};\r\n public editedItemId: number;\r\n\r\n private selectedCustomer: number;\r\n private selectedEmployee: number;\r\n private selectedProjectType: string;\r\n\r\n private startDate: DateInputModel;\r\n private endDate: DateInputModel;\r\n private isRestoredMainFilterDate: boolean = false;\r\n\r\n public hideToggles: boolean;\r\n public expanded: boolean;\r\n\r\n public mainFilter: GridMainFilter[];\r\n\r\n @ViewChild('employeeselect') selectEmployee: NgxSelectComponent;\r\n\r\n private headers = [\r\n { displayName: 'Numer', propertyName: 'numberString', propertyType: 'string' },\r\n { displayName: 'Pracownik', propertyName: 'employeeFullName', propertyType: 'string' },\r\n { displayName: 'Data', propertyName: 'date', propertyType: 'date', isInitSort: true },\r\n { displayName: 'Projekt', propertyName: 'projectName', propertyType: 'string' },\r\n { displayName: 'Etap projektu', propertyName: 'projectStep', propertyType: 'string' },\r\n { displayName: 'Kontrahent', propertyName: 'customerCode', propertyType: 'string' },\r\n { displayName: 'Płatnik', propertyName: 'payerCode', propertyType: 'string' },\r\n { displayName: 'Czas pracy', propertyName: 'worktime', propertyType: 'string' },\r\n { displayName: 'Czas fakturowany', propertyName: 'billableTime', propertyType: 'string' },\r\n { displayName: 'Opis', propertyName: 'description', propertyType: 'string', showTooltip: true }\r\n ];\r\n\r\n private gridMenuButtons: MenuButton[] = [\r\n { text: 'COMMONBUTTONS_copy', class: 'btn-success', icon: '', onClick: () => { this.copy(); }, enabled: false, isForSelected: true }\r\n ];\r\n\r\n private columnsToGroup: GoupedColumn[] = [\r\n { name: 'worktime', func: GroupFunction.sum },\r\n { name: 'billableTime', func: GroupFunction.sum }\r\n ];\r\n\r\n @ViewChild(GridComponent) grid: GridComponent;\r\n @ViewChild(MessageBoxComponent) messageBox: MessageBoxComponent;\r\n\r\n public permissions: Permissions;\r\n private canRowBeShown: boolean;\r\n private canRowBeEdited: boolean;\r\n private canRowBeDeleted: boolean;\r\n private canRowBeAdded: boolean;\r\n private isEditable: boolean;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private userRest: LoginRest,\r\n private translateService: TranslatorService,\r\n private worklogsRest: WorklogsRest,\r\n private dictionaryRest: DictionaryRest,\r\n private gridParamsRestoringService: GridParamsRestoringService,\r\n private spinnerService: SpinnerService,\r\n private permissionService: PermissionsService,\r\n private issueService: IssueService\r\n ) {\r\n super();\r\n this.onResize();\r\n\r\n this.selectionMode = this.selectionMode === SelectionMode.none ? SelectionMode.multi : this.selectionMode;\r\n }\r\n\r\n private copy() {\r\n var selectedItems = this.grid.getSelectedItems();\r\n\r\n if (selectedItems.length === 0) {\r\n sweetAlert('Nie zaznaczono elementu.');\r\n return;\r\n }\r\n\r\n if (selectedItems.length > 1) {\r\n sweetAlert('Zaznaczono więcej niż jeden element.');\r\n return;\r\n }\r\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\r\n this.router.navigate(['../worklogs/worklog/copy', selectedItems[0].id], { queryParams: { id: selectedItems[0].id, isCopy: 1 }, relativeTo: this.route });\r\n }\r\n\r\n private changeState() {\r\n var selectedItems = this.grid.getSelectedItems();\r\n }\r\n\r\n ngOnInit() {\r\n this.spinnerService.show();\r\n this.mainFilter = new Array();\r\n this.tryRestoreFiltersAndPage();\r\n this.setPermissions('Worklog');\r\n\r\n this.setUpDates();\r\n if (this.permissions.canShow) {\r\n this.setupProjectTypes();\r\n this.setupCustomerRows();\r\n this.setupUsersRows();\r\n }\r\n this.setupCurrentUser();\r\n this.path = `api/worklogs/grid`;\r\n }\r\n\r\n ngAfterViewInit() {\r\n //this.grid.mainFilter = this.mainFilter; \r\n this.filter();\r\n this.spinnerService.hide();\r\n }\r\n\r\n setPermissions(claimType: string): void {\r\n this.route.data.subscribe(x => {\r\n this.permissions = this.permissionService.getUserPermissions(x.claimType);\r\n this.isEditable = this.permissions.canEdit || this.permissions.canShow;\r\n\r\n this.canRowBeShown = this.permissions.canShow;\r\n this.canRowBeAdded = this.permissions.canAdd;\r\n this.canRowBeEdited = this.permissions.canEdit;\r\n this.canRowBeDeleted = this.permissions.canDelete;\r\n this.gridMenuButtons.find(x => x.text === 'COMMONBUTTONS_copy').enabled = this.permissions.canAdd && this.permissions.canEdit;\r\n });\r\n }\r\n\r\n private setUpDates() {\r\n this.startDate = new DateInputModel();\r\n this.startDate.isReadOnly = false;\r\n this.startDate.isRequired = false;\r\n this.startDate.name = 'Od:';\r\n\r\n if (this.isRestoredMainFilterDate && this.previousMainFilters['FromDate'] && this.canRowBeShown) {\r\n this.startDate.value = new Date(this.previousMainFilters['FromDate']);\r\n } else {\r\n this.startDate.value = new Date();\r\n this.startDate.value.setHours(0, 0, 0, 0);\r\n this.startDate.value.setDate(1);\r\n }\r\n\r\n this.startDate.valueStr = this.startDate.value.toDateString();\r\n this.startDate.withTime = false;\r\n this.startDate.internalName = dateFromInternalName;\r\n\r\n this.endDate = new DateInputModel();\r\n this.endDate.isReadOnly = false;\r\n this.endDate.isRequired = false;\r\n this.endDate.name = 'Do:';\r\n\r\n if (this.isRestoredMainFilterDate && this.previousMainFilters['ToDate'] && this.canRowBeShown) {\r\n this.endDate.value = new Date(this.previousMainFilters['ToDate']);\r\n } else {\r\n this.endDate.value = new Date();\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n\r\n this.endDate.valueStr = this.endDate.value.toDateString();\r\n this.endDate.withTime = false;\r\n this.endDate.internalName = dateToInternalName;\r\n }\r\n\r\n private setupProjectTypes() {\r\n this.dictionaryRest.getDictionaries(2).subscribe((dictionaries: any) => {\r\n this.projectTypes = dictionaries;\r\n });\r\n }\r\n\r\n private setupUsersRows() {\r\n var action;\r\n if (this.permissions.hasAllWorklogsPermission) {\r\n action = this.worklogsRest.getUsersRows;\r\n }\r\n else {\r\n action = this.worklogsRest.getSubordinates;\r\n }\r\n\r\n action.call(this.worklogsRest).subscribe((result: ObjectToSelect[]) => {\r\n if (result) {\r\n this.usersRows = result.sort((x, y) => x.name > y.name ? 1 : -1);\r\n }\r\n });\r\n }\r\n\r\n private setupCustomerRows() {\r\n const action = this.worklogsRest.getCustomerRows;\r\n action.call(this.worklogsRest).subscribe((result: ObjectToSelect[]) => {\r\n if (result) {\r\n this.customerRows = result;\r\n }\r\n });\r\n }\r\n\r\n private setupCurrentUser() {\r\n // if (!this.isRestoredMainFilter) {\r\n // this.spinnerService.show();\r\n // }\r\n this.userRest.GetLoggedUser().subscribe((user: any) => {\r\n this.currentUser = user;\r\n });\r\n }\r\n\r\n private setDefaultfilters() {\r\n this.selectedEmployee = this.currentUser.employeeId;\r\n this.startDate.value = new Date();\r\n this.startDate.value.setHours(0, 0, 0, 0);\r\n this.startDate.value.setDate(1);\r\n this.endDate.value = new Date();\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n\r\n private onDateValidation(date: DateInputModel, isValid: boolean) {\r\n if (!date) {\r\n return;\r\n }\r\n if (date.internalName === dateFromInternalName && this.startDate.value > this.endDate.value) {\r\n this.endDate.value = new Date(date.value);\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n this.startDate.value.setHours(0, 0, 0, 0);\r\n }\r\n else {\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n\r\n\r\n if (date.internalName === dateToInternalName && date.value < this.startDate.value) {\r\n if (date.value != null) {\r\n this.startDate.value = new Date(date.value);\r\n this.startDate.value.setHours(0, 0, 0, 0);\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n else {\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n }\r\n else {\r\n this.endDate.value.setHours(23, 59, 59, 0);\r\n }\r\n }\r\n\r\n private selectedDates() {\r\n let startingdate = null;\r\n if (this.startDate.value != null) {\r\n startingdate = this.startDate.value.toJSON();\r\n }\r\n this.setFilterOnGrid('FromDate', startingdate);\r\n\r\n let endingDate = null;\r\n if (this.endDate.value != null) {\r\n endingDate = this.endDate.value.toJSON();\r\n }\r\n this.setFilterOnGrid('ToDate', endingDate);\r\n }\r\n\r\n private setFilterOnGrid(internalName: string, filterValue: string) {\r\n if (this.mainFilter != null) {\r\n this.mainFilter.forEach((item, index) => {\r\n if (item.internalName === internalName) { this.mainFilter.splice(index, 1); }\r\n });\r\n\r\n if (filterValue !== undefined) {\r\n this.mainFilter.push({ internalName: internalName, value: filterValue });\r\n }\r\n this.grid.mainFilter = this.mainFilter;\r\n }\r\n }\r\n\r\n public filter() {\r\n this.mainFilter = new Array();\r\n this.selectedDates();\r\n if (this.selectedEmployee) {\r\n this.setFilterOnGrid('EmployeeId', this.selectedEmployee.toString());\r\n }\r\n else\r\n this.setFilterOnGrid('EmployeeId', \"0\");\r\n\r\n if (this.selectedProjectType) {\r\n this.setFilterOnGrid('ProjectTypeName', this.selectedProjectType);\r\n }\r\n if (this.selectedCustomer) {\r\n this.setFilterOnGrid('CustomerId', this.selectedCustomer.toString());\r\n }\r\n\r\n this.grid.mainFilter = this.mainFilter;\r\n this.grid.refreshData();\r\n }\r\n\r\n public clearFilter() {\r\n this.setDefaultfilters();\r\n this.selectedCustomer = null;\r\n this.selectedProjectType = null;\r\n this.filter();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n private onResize(event?) {\r\n if (window.innerWidth <= 768) {\r\n this.hideToggles = true;\r\n this.expanded = false;\r\n } else {\r\n this.hideToggles = false;\r\n this.expanded = true;\r\n }\r\n }\r\n\r\n private onRowDelete(row: WorklogRow) {\r\n sweetAlert('Czy chcesz usunąć RCP?', {\r\n buttons: {\r\n yes: {\r\n text: 'Tak',\r\n value: 'yes'\r\n },\r\n no: {\r\n text: 'Nie',\r\n value: 'no',\r\n }\r\n }\r\n }).then((value) => {\r\n switch (value) {\r\n case 'yes':\r\n const action = this.worklogsRest.deleteWorklog;\r\n action.call(this.worklogsRest, row.id).subscribe((result: String) => {\r\n if (result) {\r\n sweetAlert({ text: `Usunięto wpis RCP` });\r\n this.grid.refreshData(false);\r\n }\r\n });\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private onRowEdit(row: WorklogRow) {\r\n this.issueService.complete();\r\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid, row.id);\r\n this.router.navigate(['../worklogs/worklog', row.numberString], { queryParams: { id: row.id }, relativeTo: this.route });\r\n }\r\n\r\n private onRowAdd(value: any) {\r\n this.issueService.complete();\r\n this.gridParamsRestoringService.saveCurrentGridParams(this.grid);\r\n this.router.navigate(['../worklogs/worklog/new'], { relativeTo: this.route });\r\n }\r\n\r\n private tryRestoreFiltersAndPage() {\r\n var previousGridParams = this.gridParamsRestoringService.getPreviousGridParams(this.detailsPath);\r\n if (!previousGridParams) {\r\n return;\r\n }\r\n\r\n this.initialFilters = previousGridParams.initialFilters;\r\n this.initialPageNumber = previousGridParams.initialPageNumber;\r\n this.initialSortedColumn = previousGridParams.sortedColumn;\r\n this.initialPageSize = previousGridParams.initialPageSize;\r\n this.editedItemId = previousGridParams.editedItemId;\r\n this.previousMainFilters = previousGridParams.previousMainFilters;\r\n\r\n if (this.previousMainFilters['FromDate']) {\r\n this.mainFilter.push({ internalName: 'FromDate', value: this.previousMainFilters['FromDate'] });\r\n }\r\n if (this.previousMainFilters['ToDate']) {\r\n this.mainFilter.push({ internalName: 'ToDate', value: this.previousMainFilters['ToDate'] });\r\n }\r\n\r\n this.isRestoredMainFilterDate = true;\r\n }\r\n\r\n private searchCallback(search: string, item: INgxSelectOption): boolean {\r\n search = search.toLowerCase();\r\n return item.data.name.toLowerCase().includes(search) || item.data.guid.toLowerCase().includes(search);\r\n }\r\n\r\n private setFiltersFromRestoredData() {\r\n const selectedEmployee = this.findFilter('EmployeeId');\r\n\r\n if (selectedEmployee != null)\r\n this.selectedEmployee = parseInt(selectedEmployee);\r\n\r\n const selectedCustomer = this.findFilter('CustomerId');\r\n this.selectedCustomer = selectedCustomer != null ? parseInt(selectedCustomer) : null;\r\n\r\n const selectedProjectType = this.findFilter('ProjectTypeName');\r\n this.selectedProjectType = selectedProjectType;// != null ? parseInt(selectedProjectType) : null;\r\n\r\n if (!this.isRestoredMainFilterDate) {\r\n const startDate = this.findFilter('FromDate');\r\n if (startDate != null) {\r\n this.startDate.value = new Date(startDate);\r\n } else {\r\n this.startDate.value = new Date();\r\n this.startDate.value.setDate(1);\r\n }\r\n\r\n const endDate = this.findFilter('ToDate');\r\n if (endDate != null) {\r\n this.endDate.value = new Date(endDate);\r\n } else {\r\n this.endDate.value = new Date();\r\n }\r\n }\r\n }\r\n\r\n private findFilter(internalName: string): string {\r\n return this.grid.mainFilter.find(x => x.internalName === internalName) && this.grid.mainFilter.find(x => x.internalName === internalName).value || null;\r\n }\r\n\r\n public setGridMainFilterDates() {\r\n if (this.isRestoredMainFilterDate) {\r\n this.grid.mainFilter = this.mainFilter;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { SharedModule } from \"../../core/shared/shared.module\";\nimport { LoginRest } from \"../../login/login.rest\";\nimport { WorklogsRest } from \"../worklogs.rest\";\nimport { WorklogsListComponent } from \"./worklogs-list.component\";\nimport { WorklogsListRouting } from \"./worklogs-list.routing\";\nimport { NgxSelectModule } from \"ngx-select-ex\";\nimport { DictionaryRest } from \"../../dictionaries/dictionary/dictionary.rest\";\nimport { DateInputComponent } from \"../../core/shared/date-input/date-input.component\";\nimport { WorklogDetailsRouting } from \"../worklog-details/worklog-details.routing\";\n\n@NgModule({\n imports: [\n CommonModule,\n WorklogsListRouting,\n SharedModule \n ],\n declarations: [WorklogsListComponent],\n exports: [],\n providers : [WorklogsRest, LoginRest, DictionaryRest]\n })\n export class WorklogsListModule { }","import { Routes, RouterModule } from \"@angular/router\";\nimport { WorklogsListComponent } from \"./worklogs-list.component\";\nimport { WorklogDetailsModule } from \"../worklog-details/worklog-details.module\";\nimport { WorklogDetailsComponent } from \"../worklog-details/worklog-details.component\";\nimport { WorklogDetailsIssueModule } from \"../worklog-details/worklog-details-issue.module\";\n\nconst routes: Routes = [\n { path: '', component: WorklogsListComponent },\n { path: 'worklog', loadChildren: () =>WorklogDetailsIssueModule },\n ];\n\n export const WorklogsListRouting = RouterModule.forChild(routes);","import { Injectable } from \"@angular/core\";\nimport { RestService } from \"../core/core/rest.service\";\nimport { WorklogRow, Worklog } from \"./worklogs.model\";\nimport { UserToSelect } from \"../company/users/user-selection.model\";\nimport { ObjectToSelect } from \"../core/shared/objectToSelect.model\";\n\n@Injectable()\nexport class WorklogsRest {\n constructor(private http: RestService) {\n }\n\n public getWorklogs() {\n return this.http.get('api/worklogs/grid');\n }\n\n public getUsersRows(customerId: number) {\n return this.http.get(`api/worklogs/users/${customerId}`);\n }\n\n public getSubordinates(employeeId: number) {\n return this.http.get(`api/worklogs/subordinates`);\n }\n\n public getCustomerRows() {\n return this.http.get('api/worklogs/customers');\n }\n\n public deleteWorklog(worklogId: number) {\n return this.http.post('api/worklogs/delete', worklogId);\n }\n\n public getWorklog(id: number) {\n return this.http.get(`api/worklogs/worklog/${id}`);\n }\n\n public getEmptyWorklog() {\n return this.http.get(`api/worklogs/worklog/add`);\n }\n\n public saveWorklog(worklog: Worklog) {\n return this.http.post('api/worklogs/worklog/save', worklog);\n }\n\n public copyWorklog(worklogId: number) {\n return this.http.post('api/worklogs/copyWorklog', worklogId);\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 * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","/*!\n *\n * Angle - Bootstrap Admin Template\n *\n * Version: 4.0\n * Author: @themicon_co\n * Website: http://themicon.co\n * License: https://wrapbootstrap.com/help/licenses\n *\n */\n\nimport './vendor.ts';\nimport { 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\nlet p = platformBrowserDynamic().bootstrapModule(AppModule);\np.then(() => { (window).appBootstrap && (window).appBootstrap(); })\n// .catch(err => console.error(err));\n","/*!\n * modernizr v3.3.1\n * Build http://modernizr.com/download?-bgpositionshorthand-bgpositionxy-bgrepeatspace_bgrepeatround-bgsizecover-borderradius-cssanimations-csscalc-csstransforms-csstransforms3d-csstransitions-flexboxtweener-fontface-inlinesvg-localstorage-multiplebgs-preserve3d-sessionstorage-smil-svg-svgasimg-svgclippaths-svgfilters-svgforeignobject-websqldatabase-setclasses-dontmin\n *\n * Copyright (c)\n * Faruk Ates\n * Paul Irish\n * Alex Sexton\n * Ryan Seddon\n * Patrick Kettner\n * Stu Cox\n * Richard Herrera\n\n * MIT License\n */\n\n/*\n * Modernizr tests which native CSS3 and HTML5 features are available in the\n * current UA and makes the results available to you in two ways: as properties on\n * a global `Modernizr` object, and as classes on the `` element. This\n * information allows you to progressively enhance your pages with a granular level\n * of control over the experience.\n*/\n\n;(function(window, document, undefined){\n var tests = [];\n \n\n /**\n *\n * ModernizrProto is the constructor for Modernizr\n *\n * @class\n * @access public\n */\n\n var ModernizrProto = {\n // The current version, dummy\n _version: '3.3.1',\n\n // Any settings that don't work as separate modules\n // can go in here as configuration.\n _config: {\n 'classPrefix': '',\n 'enableClasses': true,\n 'enableJSClass': true,\n 'usePrefixes': true\n },\n\n // Queue of tests\n _q: [],\n\n // Stub these for people who are listening\n on: function(test, cb) {\n // I don't really think people should do this, but we can\n // safe guard it a bit.\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\n // This is in case people listen to synchronous tests. I would leave it out,\n // but the code to *disallow* sync tests in the real version of this\n // function is actually larger than this.\n var self = this;\n setTimeout(function() {\n cb(self[test]);\n }, 0);\n },\n\n addTest: function(name, fn, options) {\n tests.push({name: name, fn: fn, options: options});\n },\n\n addAsyncTest: function(fn) {\n tests.push({name: null, fn: fn});\n }\n };\n\n \n\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\n var Modernizr = function() {};\n Modernizr.prototype = ModernizrProto;\n\n // Leak modernizr globally when you `require` it rather than force it here.\n // Overwrite name so constructor name is nicer :D\n Modernizr = new Modernizr();\n\n \n\n var classes = [];\n \n\n /**\n * is returns a boolean if the typeof an obj is exactly type.\n *\n * @access private\n * @function is\n * @param {*} obj - A thing we want to check the type of\n * @param {string} type - A string to compare the typeof against\n * @returns {boolean}\n */\n\n function is(obj, type) {\n return typeof obj === type;\n }\n ;\n\n /**\n * Run through all tests and detect their support in the current UA.\n *\n * @access private\n */\n\n function testRunner() {\n var featureNames;\n var feature;\n var aliasIdx;\n var result;\n var nameIdx;\n var featureName;\n var featureNameSplit;\n\n for (var featureIdx in tests) {\n if (tests.hasOwnProperty(featureIdx)) {\n featureNames = [];\n feature = tests[featureIdx];\n // run the test, throw the return value into the Modernizr,\n // then based on that boolean, define an appropriate className\n // and push it into an array of classes we'll join later.\n //\n // If there is no name, it's an 'async' test that is run,\n // but not directly added to the object. That should\n // be done with a post-run addTest call.\n if (feature.name) {\n featureNames.push(feature.name.toLowerCase());\n\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\n // Add all the aliases into the names list\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\n }\n }\n }\n\n // Run the test, or use the raw value if it's not a function\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\n\n\n // Set each of the names on the Modernizr object\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\n featureName = featureNames[nameIdx];\n // Support dot properties as sub tests. We don't do checking to make sure\n // that the implied parent tests have been added. You must call them in\n // order (either in the test, or make the parent test a dependency).\n //\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\n // hashtag famous last words\n featureNameSplit = featureName.split('.');\n\n if (featureNameSplit.length === 1) {\n Modernizr[featureNameSplit[0]] = result;\n } else {\n // cast to a Boolean, if not one already\n /* jshint -W053 */\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\n }\n\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\n }\n\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\n }\n }\n }\n }\n ;\n\n /**\n * docElement is a convenience wrapper to grab the root element of the document\n *\n * @access private\n * @returns {HTMLElement|SVGElement} The root element of the document\n */\n\n var docElement = document.documentElement;\n \n\n /**\n * A convenience helper to check if the document we are running in is an SVG document\n *\n * @access private\n * @returns {boolean}\n */\n\n var isSVG = docElement.nodeName.toLowerCase() === 'svg';\n \n\n /**\n * setClasses takes an array of class names and adds them to the root element\n *\n * @access private\n * @function setClasses\n * @param {string[]} classes - Array of class names\n */\n\n // Pass in an and array of class names, e.g.:\n // ['no-webp', 'borderradius', ...]\n function setClasses(classes) {\n var className = docElement.className;\n var classPrefix = Modernizr._config.classPrefix || '';\n\n if (isSVG) {\n className = className.baseVal;\n }\n\n // Change `no-js` to `js` (independently of the `enableClasses` option)\n // Handle classPrefix on this too\n if (Modernizr._config.enableJSClass) {\n var reJS = new RegExp('(^|\\\\s)' + classPrefix + 'no-js(\\\\s|$)');\n className = className.replace(reJS, '$1' + classPrefix + 'js$2');\n }\n\n if (Modernizr._config.enableClasses) {\n // Add the new classes\n className += ' ' + classPrefix + classes.join(' ' + classPrefix);\n isSVG ? docElement.className.baseVal = className : docElement.className = className;\n }\n\n }\n\n ;\n\n /**\n * createElement is a convenience wrapper around document.createElement. Since we\n * use createElement all over the place, this allows for (slightly) smaller code\n * as well as abstracting away issues with creating elements in contexts other than\n * HTML documents (e.g. SVG documents).\n *\n * @access private\n * @function createElement\n * @returns {HTMLElement|SVGElement} An HTML or SVG element\n */\n\n function createElement() {\n if (typeof document.createElement !== 'function') {\n // This is the case in IE7, where the type of createElement is \"object\".\n // For this reason, we cannot call apply() as Object is not a Function.\n return document.createElement(arguments[0]);\n } else if (isSVG) {\n return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);\n } else {\n return document.createElement.apply(document, arguments);\n }\n }\n\n ;\n/*!\n{\n \"name\": \"Background Position Shorthand\",\n \"property\": \"bgpositionshorthand\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_backgroundposition_shorthand\"],\n \"notes\": [{\n \"name\": \"MDN Docs\",\n \"href\": \"https://developer.mozilla.org/en/CSS/background-position\"\n }, {\n \"name\": \"W3 Spec\",\n \"href\": \"https://www.w3.org/TR/css3-background/#background-position\"\n }, {\n \"name\": \"Demo\",\n \"href\": \"https://jsfiddle.net/Blink/bBXvt/\"\n }]\n}\n!*/\n/* DOC\nDetects if you can use the shorthand method to define multiple parts of an\nelement's background-position simultaniously.\n\neg `background-position: right 10px bottom 10px`\n*/\n\n Modernizr.addTest('bgpositionshorthand', function() {\n var elem = createElement('a');\n var eStyle = elem.style;\n var val = 'right 10px bottom 10px';\n eStyle.cssText = 'background-position: ' + val + ';';\n return (eStyle.backgroundPosition === val);\n });\n\n\n /**\n * If the browsers follow the spec, then they would expose vendor-specific style as:\n * elem.style.WebkitBorderRadius\n * instead of something like the following, which would be technically incorrect:\n * elem.style.webkitBorderRadius\n\n * Webkit ghosts their properties in lowercase but Opera & Moz do not.\n * Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+\n * erik.eae.net/archives/2008/03/10/21.48.10/\n\n * More here: github.com/Modernizr/Modernizr/issues/issue/21\n *\n * @access private\n * @returns {string} The string representing the vendor-specific style properties\n */\n\n var omPrefixes = 'Moz O ms Webkit';\n \n\n var cssomPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.split(' ') : []);\n ModernizrProto._cssomPrefixes = cssomPrefixes;\n \n\n\n /**\n * contains checks to see if a string contains another string\n *\n * @access private\n * @function contains\n * @param {string} str - The string we want to check for substrings\n * @param {string} substr - The substring we want to search the first string for\n * @returns {boolean}\n */\n\n function contains(str, substr) {\n return !!~('' + str).indexOf(substr);\n }\n\n ;\n\n /**\n * Create our \"modernizr\" element that we do most feature tests on.\n *\n * @access private\n */\n\n var modElem = {\n elem: createElement('modernizr')\n };\n\n // Clean up this element\n Modernizr._q.push(function() {\n delete modElem.elem;\n });\n\n \n\n var mStyle = {\n style: modElem.elem.style\n };\n\n // kill ref for gc, must happen before mod.elem is removed, so we unshift on to\n // the front of the queue.\n Modernizr._q.unshift(function() {\n delete mStyle.style;\n });\n\n \n\n /**\n * getBody returns the body of a document, or an element that can stand in for\n * the body if a real body does not exist\n *\n * @access private\n * @function getBody\n * @returns {HTMLElement|SVGElement} Returns the real body of a document, or an\n * artificially created element that stands in for the body\n */\n\n function getBody() {\n // After page load injecting a fake body doesn't work so check if body exists\n var body = document.body;\n\n if (!body) {\n // Can't use the real body create a fake one.\n body = createElement(isSVG ? 'svg' : 'body');\n body.fake = true;\n }\n\n return body;\n }\n\n ;\n\n /**\n * injectElementWithStyles injects an element with style element and some CSS rules\n *\n * @access private\n * @function injectElementWithStyles\n * @param {string} rule - String representing a css rule\n * @param {function} callback - A function that is used to test the injected element\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\n * @returns {boolean}\n */\n\n function injectElementWithStyles(rule, callback, nodes, testnames) {\n var mod = 'modernizr';\n var style;\n var ret;\n var node;\n var docOverflow;\n var div = createElement('div');\n var body = getBody();\n\n if (parseInt(nodes, 10)) {\n // In order not to give false positives we create a node for each test\n // This also allows the method to scale for unspecified uses\n while (nodes--) {\n node = createElement('div');\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\n div.appendChild(node);\n }\n }\n\n style = createElement('style');\n style.type = 'text/css';\n style.id = 's' + mod;\n\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\n (!body.fake ? div : body).appendChild(style);\n body.appendChild(div);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = rule;\n } else {\n style.appendChild(document.createTextNode(rule));\n }\n div.id = mod;\n\n if (body.fake) {\n //avoid crashing IE8, if background image is used\n body.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n body.style.overflow = 'hidden';\n docOverflow = docElement.style.overflow;\n docElement.style.overflow = 'hidden';\n docElement.appendChild(body);\n }\n\n ret = callback(div, rule);\n // If this is done after page load we don't want to remove the body so check if body exists\n if (body.fake) {\n body.parentNode.removeChild(body);\n docElement.style.overflow = docOverflow;\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n docElement.offsetHeight;\n } else {\n div.parentNode.removeChild(div);\n }\n\n return !!ret;\n\n }\n\n ;\n\n /**\n * domToCSS takes a camelCase string and converts it to kebab-case\n * e.g. boxSizing -> box-sizing\n *\n * @access private\n * @function domToCSS\n * @param {string} name - String name of camelCase prop we want to convert\n * @returns {string} The kebab-case version of the supplied name\n */\n\n function domToCSS(name) {\n return name.replace(/([A-Z])/g, function(str, m1) {\n return '-' + m1.toLowerCase();\n }).replace(/^ms-/, '-ms-');\n }\n ;\n\n /**\n * nativeTestProps allows for us to use native feature detection functionality if available.\n * some prefixed form, or false, in the case of an unsupported rule\n *\n * @access private\n * @function nativeTestProps\n * @param {array} props - An array of property names\n * @param {string} value - A string representing the value we want to check via @supports\n * @returns {boolean|undefined} A boolean when @supports exists, undefined otherwise\n */\n\n // Accepts a list of property names and a single value\n // Returns `undefined` if native detection not available\n function nativeTestProps(props, value) {\n var i = props.length;\n // Start with the JS API: http://www.w3.org/TR/css3-conditional/#the-css-interface\n if ('CSS' in window && 'supports' in window.CSS) {\n // Try every prefixed variant of the property\n while (i--) {\n if (window.CSS.supports(domToCSS(props[i]), value)) {\n return true;\n }\n }\n return false;\n }\n // Otherwise fall back to at-rule (for Opera 12.x)\n else if ('CSSSupportsRule' in window) {\n // Build a condition string for every prefixed variant\n var conditionText = [];\n while (i--) {\n conditionText.push('(' + domToCSS(props[i]) + ':' + value + ')');\n }\n conditionText = conditionText.join(' or ');\n return injectElementWithStyles('@supports (' + conditionText + ') { #modernizr { position: absolute; } }', function(node) {\n return getComputedStyle(node, null).position == 'absolute';\n });\n }\n return undefined;\n }\n ;\n\n /**\n * cssToDOM takes a kebab-case string and converts it to camelCase\n * e.g. box-sizing -> boxSizing\n *\n * @access private\n * @function cssToDOM\n * @param {string} name - String name of kebab-case prop we want to convert\n * @returns {string} The camelCase version of the supplied name\n */\n\n function cssToDOM(name) {\n return name.replace(/([a-z])-([a-z])/g, function(str, m1, m2) {\n return m1 + m2.toUpperCase();\n }).replace(/^-/, '');\n }\n ;\n\n // testProps is a generic CSS / DOM property test.\n\n // In testing support for a given CSS property, it's legit to test:\n // `elem.style[styleName] !== undefined`\n // If the property is supported it will return an empty string,\n // if unsupported it will return undefined.\n\n // We'll take advantage of this quick test and skip setting a style\n // on our modernizr element, but instead just testing undefined vs\n // empty string.\n\n // Property names can be provided in either camelCase or kebab-case.\n\n function testProps(props, prefixed, value, skipValueTest) {\n skipValueTest = is(skipValueTest, 'undefined') ? false : skipValueTest;\n\n // Try native detect first\n if (!is(value, 'undefined')) {\n var result = nativeTestProps(props, value);\n if (!is(result, 'undefined')) {\n return result;\n }\n }\n\n // Otherwise do it properly\n var afterInit, i, propsLength, prop, before;\n\n // If we don't have a style element, that means we're running async or after\n // the core tests, so we'll need to create our own elements to use\n\n // inside of an SVG element, in certain browsers, the `style` element is only\n // defined for valid tags. Therefore, if `modernizr` does not have one, we\n // fall back to a less used element and hope for the best.\n var elems = ['modernizr', 'tspan'];\n while (!mStyle.style) {\n afterInit = true;\n mStyle.modElem = createElement(elems.shift());\n mStyle.style = mStyle.modElem.style;\n }\n\n // Delete the objects if we created them.\n function cleanElems() {\n if (afterInit) {\n delete mStyle.style;\n delete mStyle.modElem;\n }\n }\n\n propsLength = props.length;\n for (i = 0; i < propsLength; i++) {\n prop = props[i];\n before = mStyle.style[prop];\n\n if (contains(prop, '-')) {\n prop = cssToDOM(prop);\n }\n\n if (mStyle.style[prop] !== undefined) {\n\n // If value to test has been passed in, do a set-and-check test.\n // 0 (integer) is a valid property value, so check that `value` isn't\n // undefined, rather than just checking it's truthy.\n if (!skipValueTest && !is(value, 'undefined')) {\n\n // Needs a try catch block because of old IE. This is slow, but will\n // be avoided in most cases because `skipValueTest` will be used.\n try {\n mStyle.style[prop] = value;\n } catch (e) {}\n\n // If the property value has changed, we assume the value used is\n // supported. If `value` is empty string, it'll fail here (because\n // it hasn't changed), which matches how browsers have implemented\n // CSS.supports()\n if (mStyle.style[prop] != before) {\n cleanElems();\n return prefixed == 'pfx' ? prop : true;\n }\n }\n // Otherwise just return true, or the property name if this is a\n // `prefixed()` call\n else {\n cleanElems();\n return prefixed == 'pfx' ? prop : true;\n }\n }\n }\n cleanElems();\n return false;\n }\n\n ;\n\n /**\n * List of JavaScript DOM values used for tests\n *\n * @memberof Modernizr\n * @name Modernizr._domPrefixes\n * @optionName Modernizr._domPrefixes\n * @optionProp domPrefixes\n * @access public\n * @example\n *\n * Modernizr._domPrefixes is exactly the same as [_prefixes](#modernizr-_prefixes), but rather\n * than kebab-case properties, all properties are their Capitalized variant\n *\n * ```js\n * Modernizr._domPrefixes === [ \"Moz\", \"O\", \"ms\", \"Webkit\" ];\n * ```\n */\n\n var domPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.toLowerCase().split(' ') : []);\n ModernizrProto._domPrefixes = domPrefixes;\n \n\n /**\n * fnBind is a super small [bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) polyfill.\n *\n * @access private\n * @function fnBind\n * @param {function} fn - a function you want to change `this` reference to\n * @param {object} that - the `this` you want to call the function with\n * @returns {function} The wrapped version of the supplied function\n */\n\n function fnBind(fn, that) {\n return function() {\n return fn.apply(that, arguments);\n };\n }\n\n ;\n\n /**\n * testDOMProps is a generic DOM property test; if a browser supports\n * a certain property, it won't return undefined for it.\n *\n * @access private\n * @function testDOMProps\n * @param {array.} props - An array of properties to test for\n * @param {object} obj - An object or Element you want to use to test the parameters again\n * @param {boolean|object} elem - An Element to bind the property lookup again. Use `false` to prevent the check\n */\n function testDOMProps(props, obj, elem) {\n var item;\n\n for (var i in props) {\n if (props[i] in obj) {\n\n // return the property name as a string\n if (elem === false) {\n return props[i];\n }\n\n item = obj[props[i]];\n\n // let's bind a function\n if (is(item, 'function')) {\n // bind to obj unless overriden\n return fnBind(item, elem || obj);\n }\n\n // return the unbound function or obj or value\n return item;\n }\n }\n return false;\n }\n\n ;\n\n /**\n * testPropsAll tests a list of DOM properties we want to check against.\n * We specify literally ALL possible (known and/or likely) properties on\n * the element including the non-vendor prefixed one, for forward-\n * compatibility.\n *\n * @access private\n * @function testPropsAll\n * @param {string} prop - A string of the property to test for\n * @param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip\n * @param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against\n * @param {string} [value] - A string of a css value\n * @param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set\n */\n function testPropsAll(prop, prefixed, elem, value, skipValueTest) {\n\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),\n props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');\n\n // did they call .prefixed('boxSizing') or are we just testing a prop?\n if (is(prefixed, 'string') || is(prefixed, 'undefined')) {\n return testProps(props, prefixed, value, skipValueTest);\n\n // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])\n } else {\n props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');\n return testDOMProps(props, prefixed, elem);\n }\n }\n\n // Modernizr.testAllProps() investigates whether a given style property,\n // or any of its vendor-prefixed variants, is recognized\n //\n // Note that the property names must be provided in the camelCase variant.\n // Modernizr.testAllProps('boxSizing')\n ModernizrProto.testAllProps = testPropsAll;\n\n \n\n /**\n * testAllProps determines whether a given CSS property is supported in the browser\n *\n * @memberof Modernizr\n * @name Modernizr.testAllProps\n * @optionName Modernizr.testAllProps()\n * @optionProp testAllProps\n * @access public\n * @function testAllProps\n * @param {string} prop - String naming the property to test (either camelCase or kebab-case)\n * @param {string} [value] - String of the value to test\n * @param {boolean} [skipValueTest=false] - Whether to skip testing that the value is supported when using non-native detection\n * @example\n *\n * testAllProps determines whether a given CSS property, in some prefixed form,\n * is supported by the browser.\n *\n * ```js\n * testAllProps('boxSizing') // true\n * ```\n *\n * It can optionally be given a CSS value in string form to test if a property\n * value is valid\n *\n * ```js\n * testAllProps('display', 'block') // true\n * testAllProps('display', 'penguin') // false\n * ```\n *\n * A boolean can be passed as a third parameter to skip the value check when\n * native detection (@supports) isn't available.\n *\n * ```js\n * testAllProps('shapeOutside', 'content-box', true);\n * ```\n */\n\n function testAllProps(prop, value, skipValueTest) {\n return testPropsAll(prop, undefined, undefined, value, skipValueTest);\n }\n ModernizrProto.testAllProps = testAllProps;\n \n/*!\n{\n \"name\": \"Background Position XY\",\n \"property\": \"bgpositionxy\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_backgroundposition_xy\"],\n \"authors\": [\"Allan Lei\", \"Brandom Aaron\"],\n \"notes\": [{\n \"name\": \"Demo\",\n \"href\": \"https://jsfiddle.net/allanlei/R8AYS/\"\n }, {\n \"name\": \"Adapted From\",\n \"href\": \"https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js\"\n }]\n}\n!*/\n/* DOC\nDetects the ability to control an element's background position using css\n*/\n\n Modernizr.addTest('bgpositionxy', function() {\n return testAllProps('backgroundPositionX', '3px', true) && testAllProps('backgroundPositionY', '5px', true);\n });\n\n/*!\n{\n \"name\": \"Background Repeat\",\n \"property\": [\"bgrepeatspace\", \"bgrepeatround\"],\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_backgroundrepeat\"],\n \"authors\": [\"Ryan Seddon\"],\n \"notes\": [{\n \"name\": \"MDN Docs\",\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat\"\n }, {\n \"name\": \"Test Page\",\n \"href\": \"https://jsbin.com/uzesun/\"\n }, {\n \"name\": \"Demo\",\n \"href\": \"https://jsfiddle.net/ryanseddon/yMLTQ/6/\"\n }]\n}\n!*/\n/* DOC\nDetects the ability to use round and space as properties for background-repeat\n*/\n\n // Must value-test these\n Modernizr.addTest('bgrepeatround', testAllProps('backgroundRepeat', 'round'));\n Modernizr.addTest('bgrepeatspace', testAllProps('backgroundRepeat', 'space'));\n\n/*!\n{\n \"name\": \"Background Size Cover\",\n \"property\": \"bgsizecover\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_backgroundsizecover\"],\n \"notes\": [{\n \"name\" : \"MDN Docs\",\n \"href\": \"https://developer.mozilla.org/en/CSS/background-size\"\n }]\n}\n!*/\n\n // Must test value, as this specifically tests the `cover` value\n Modernizr.addTest('bgsizecover', testAllProps('backgroundSize', 'cover'));\n\n/*!\n{\n \"name\": \"Border Radius\",\n \"property\": \"borderradius\",\n \"caniuse\": \"border-radius\",\n \"polyfills\": [\"css3pie\"],\n \"tags\": [\"css\"],\n \"notes\": [{\n \"name\": \"Comprehensive Compat Chart\",\n \"href\": \"https://muddledramblings.com/table-of-css3-border-radius-compliance\"\n }]\n}\n!*/\n\n Modernizr.addTest('borderradius', testAllProps('borderRadius', '0px', true));\n\n/*!\n{\n \"name\": \"CSS Animations\",\n \"property\": \"cssanimations\",\n \"caniuse\": \"css-animation\",\n \"polyfills\": [\"transformie\", \"csssandpaper\"],\n \"tags\": [\"css\"],\n \"warnings\": [\"Android < 4 will pass this test, but can only animate a single property at a time\"],\n \"notes\": [{\n \"name\" : \"Article: 'Dispelling the Android CSS animation myths'\",\n \"href\": \"https://goo.gl/OGw5Gm\"\n }]\n}\n!*/\n/* DOC\nDetects whether or not elements can be animated using CSS\n*/\n\n Modernizr.addTest('cssanimations', testAllProps('animationName', 'a', true));\n\n\n /**\n * List of property values to set for css tests. See ticket #21\n * http://git.io/vUGl4\n *\n * @memberof Modernizr\n * @name Modernizr._prefixes\n * @optionName Modernizr._prefixes\n * @optionProp prefixes\n * @access public\n * @example\n *\n * Modernizr._prefixes is the internal list of prefixes that we test against\n * inside of things like [prefixed](#modernizr-prefixed) and [prefixedCSS](#-code-modernizr-prefixedcss). It is simply\n * an array of kebab-case vendor prefixes you can use within your code.\n *\n * Some common use cases include\n *\n * Generating all possible prefixed version of a CSS property\n * ```js\n * var rule = Modernizr._prefixes.join('transform: rotate(20deg); ');\n *\n * rule === 'transform: rotate(20deg); webkit-transform: rotate(20deg); moz-transform: rotate(20deg); o-transform: rotate(20deg); ms-transform: rotate(20deg);'\n * ```\n *\n * Generating all possible prefixed version of a CSS value\n * ```js\n * rule = 'display:' + Modernizr._prefixes.join('flex; display:') + 'flex';\n *\n * rule === 'display:flex; display:-webkit-flex; display:-moz-flex; display:-o-flex; display:-ms-flex; display:flex'\n * ```\n */\n\n var prefixes = (ModernizrProto._config.usePrefixes ? ' -webkit- -moz- -o- -ms- '.split(' ') : []);\n\n // expose these for the plugin API. Look in the source for how to join() them against your input\n ModernizrProto._prefixes = prefixes;\n\n \n/*!\n{\n \"name\": \"CSS Calc\",\n \"property\": \"csscalc\",\n \"caniuse\": \"calc\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_calc\"],\n \"authors\": [\"@calvein\"]\n}\n!*/\n/* DOC\nMethod of allowing calculated values for length units. For example:\n\n```css\n//lem {\n width: calc(100% - 3em);\n}\n```\n*/\n\n Modernizr.addTest('csscalc', function() {\n var prop = 'width:';\n var value = 'calc(10px);';\n var el = createElement('a');\n\n el.style.cssText = prop + prefixes.join(value + prop);\n\n return !!el.style.length;\n });\n\n/*!\n{\n \"name\": \"CSS Transforms\",\n \"property\": \"csstransforms\",\n \"caniuse\": \"transforms2d\",\n \"tags\": [\"css\"]\n}\n!*/\n\n Modernizr.addTest('csstransforms', function() {\n // Android < 3.0 is buggy, so we sniff and blacklist\n // http://git.io/hHzL7w\n return navigator.userAgent.indexOf('Android 2.') === -1 &&\n testAllProps('transform', 'scale(1)', true);\n });\n\n\n /**\n * testStyles injects an element with style element and some CSS rules\n *\n * @memberof Modernizr\n * @name Modernizr.testStyles\n * @optionName Modernizr.testStyles()\n * @optionProp testStyles\n * @access public\n * @function testStyles\n * @param {string} rule - String representing a css rule\n * @param {function} callback - A function that is used to test the injected element\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\n * @returns {boolean}\n * @example\n *\n * `Modernizr.testStyles` takes a CSS rule and injects it onto the current page\n * along with (possibly multiple) DOM elements. This lets you check for features\n * that can not be detected by simply checking the [IDL](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_development_guide/IDL_interface_rules).\n *\n * ```js\n * Modernizr.testStyles('#modernizr { width: 9px; color: papayawhip; }', function(elem, rule) {\n * // elem is the first DOM node in the page (by default #modernizr)\n * // rule is the first argument you supplied - the CSS rule in string form\n *\n * addTest('widthworks', elem.style.width === '9px')\n * });\n * ```\n *\n * If your test requires multiple nodes, you can include a third argument\n * indicating how many additional div elements to include on the page. The\n * additional nodes are injected as children of the `elem` that is returned as\n * the first argument to the callback.\n *\n * ```js\n * Modernizr.testStyles('#modernizr {width: 1px}; #modernizr2 {width: 2px}', function(elem) {\n * document.getElementById('modernizr').style.width === '1px'; // true\n * document.getElementById('modernizr2').style.width === '2px'; // true\n * elem.firstChild === document.getElementById('modernizr2'); // true\n * }, 1);\n * ```\n *\n * By default, all of the additional elements have an ID of `modernizr[n]`, where\n * `n` is its index (e.g. the first additional, second overall is `#modernizr2`,\n * the second additional is `#modernizr3`, etc.).\n * If you want to have more meaningful IDs for your function, you can provide\n * them as the fourth argument, as an array of strings\n *\n * ```js\n * Modernizr.testStyles('#foo {width: 10px}; #bar {height: 20px}', function(elem) {\n * elem.firstChild === document.getElementById('foo'); // true\n * elem.lastChild === document.getElementById('bar'); // true\n * }, 2, ['foo', 'bar']);\n * ```\n *\n */\n\n var testStyles = ModernizrProto.testStyles = injectElementWithStyles;\n \n/*!\n{\n \"name\": \"CSS Supports\",\n \"property\": \"supports\",\n \"caniuse\": \"css-featurequeries\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_supports\"],\n \"notes\": [{\n \"name\": \"W3 Spec\",\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#at-supports\"\n },{\n \"name\": \"Related Github Issue\",\n \"href\": \"github.com/Modernizr/Modernizr/issues/648\"\n },{\n \"name\": \"W3 Info\",\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface\"\n }]\n}\n!*/\n\n var newSyntax = 'CSS' in window && 'supports' in window.CSS;\n var oldSyntax = 'supportsCSS' in window;\n Modernizr.addTest('supports', newSyntax || oldSyntax);\n\n/*!\n{\n \"name\": \"CSS Transforms 3D\",\n \"property\": \"csstransforms3d\",\n \"caniuse\": \"transforms3d\",\n \"tags\": [\"css\"],\n \"warnings\": [\n \"Chrome may occassionally fail this test on some systems; more info: https://code.google.com/p/chromium/issues/detail?id=129004\"\n ]\n}\n!*/\n\n Modernizr.addTest('csstransforms3d', function() {\n var ret = !!testAllProps('perspective', '1px', true);\n var usePrefix = Modernizr._config.usePrefixes;\n\n // Webkit's 3D transforms are passed off to the browser's own graphics renderer.\n // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in\n // some conditions. As a result, Webkit typically recognizes the syntax but\n // will sometimes throw a false positive, thus we must do a more thorough check:\n if (ret && (!usePrefix || 'webkitPerspective' in docElement.style)) {\n var mq;\n var defaultStyle = '#modernizr{width:0;height:0}';\n // Use CSS Conditional Rules if available\n if (Modernizr.supports) {\n mq = '@supports (perspective: 1px)';\n } else {\n // Otherwise, Webkit allows this media query to succeed only if the feature is enabled.\n // `@media (transform-3d),(-webkit-transform-3d){ ... }`\n mq = '@media (transform-3d)';\n if (usePrefix) {\n mq += ',(-webkit-transform-3d)';\n }\n }\n\n mq += '{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}';\n\n testStyles(defaultStyle + mq, function(elem) {\n ret = elem.offsetWidth === 7 && elem.offsetHeight === 18;\n });\n }\n\n return ret;\n });\n\n/*!\n{\n \"name\": \"CSS Transform Style preserve-3d\",\n \"property\": \"preserve3d\",\n \"authors\": [\"edmellum\"],\n \"tags\": [\"css\"],\n \"notes\": [{\n \"name\": \"MDN Docs\",\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style\"\n },{\n \"name\": \"Related Github Issue\",\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/762\"\n }]\n}\n!*/\n/* DOC\nDetects support for `transform-style: preserve-3d`, for getting a proper 3D perspective on elements.\n*/\n\n Modernizr.addTest('preserve3d', testAllProps('transformStyle', 'preserve-3d'));\n\n/*!\n{\n \"name\": \"CSS Transitions\",\n \"property\": \"csstransitions\",\n \"caniuse\": \"css-transitions\",\n \"tags\": [\"css\"]\n}\n!*/\n\n Modernizr.addTest('csstransitions', testAllProps('transition', 'all', true));\n\n/*!\n{\n \"name\": \"Flexbox (tweener)\",\n \"property\": \"flexboxtweener\",\n \"tags\": [\"css\"],\n \"polyfills\": [\"flexie\"],\n \"notes\": [{\n \"name\": \"The _inbetween_ flexbox\",\n \"href\": \"https://www.w3.org/TR/2011/WD-css3-flexbox-20111129/\"\n }],\n \"warnings\": [\"This represents an old syntax, not the latest standard syntax.\"]\n}\n!*/\n\n Modernizr.addTest('flexboxtweener', testAllProps('flexAlign', 'end', true));\n\n/*!\n{\n \"name\": \"@font-face\",\n \"property\": \"fontface\",\n \"authors\": [\"Diego Perini\", \"Mat Marquis\"],\n \"tags\": [\"css\"],\n \"knownBugs\": [\n \"False Positive: WebOS https://github.com/Modernizr/Modernizr/issues/342\",\n \"False Postive: WP7 https://github.com/Modernizr/Modernizr/issues/538\"\n ],\n \"notes\": [{\n \"name\": \"@font-face detection routine by Diego Perini\",\n \"href\": \"http://javascript.nwbox.com/CSSSupport/\"\n },{\n \"name\": \"Filament Group @font-face compatibility research\",\n \"href\": \"https://docs.google.com/presentation/d/1n4NyG4uPRjAA8zn_pSQ_Ket0RhcWC6QlZ6LMjKeECo0/edit#slide=id.p\"\n },{\n \"name\": \"Filament Grunticon/@font-face device testing results\",\n \"href\": \"https://docs.google.com/spreadsheet/ccc?key=0Ag5_yGvxpINRdHFYeUJPNnZMWUZKR2ItMEpRTXZPdUE#gid=0\"\n },{\n \"name\": \"CSS fonts on Android\",\n \"href\": \"https://stackoverflow.com/questions/3200069/css-fonts-on-android\"\n },{\n \"name\": \"@font-face and Android\",\n \"href\": \"http://archivist.incutio.com/viewlist/css-discuss/115960\"\n }]\n}\n!*/\n\n var blacklist = (function() {\n var ua = navigator.userAgent;\n var wkvers = ua.match(/applewebkit\\/([0-9]+)/gi) && parseFloat(RegExp.$1);\n var webos = ua.match(/w(eb)?osbrowser/gi);\n var wppre8 = ua.match(/windows phone/gi) && ua.match(/iemobile\\/([0-9])+/gi) && parseFloat(RegExp.$1) >= 9;\n var oldandroid = wkvers < 533 && ua.match(/android/gi);\n return webos || oldandroid || wppre8;\n }());\n if (blacklist) {\n Modernizr.addTest('fontface', false);\n } else {\n testStyles('@font-face {font-family:\"font\";src:url(\"https://\")}', function(node, rule) {\n var style = document.getElementById('smodernizr');\n var sheet = style.sheet || style.styleSheet;\n var cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';\n var bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;\n Modernizr.addTest('fontface', bool);\n });\n }\n;\n/*!\n{\n \"name\": \"SVG\",\n \"property\": \"svg\",\n \"caniuse\": \"svg\",\n \"tags\": [\"svg\"],\n \"authors\": [\"Erik Dahlstrom\"],\n \"polyfills\": [\n \"svgweb\",\n \"raphael\",\n \"amplesdk\",\n \"canvg\",\n \"svg-boilerplate\",\n \"sie\",\n \"dojogfx\",\n \"fabricjs\"\n ]\n}\n!*/\n/* DOC\nDetects support for SVG in `` or `` elements.\n*/\n\n Modernizr.addTest('svg', !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect);\n\n\n /**\n * hasOwnProp is a shim for hasOwnProperty that is needed for Safari 2.0 support\n *\n * @author kangax\n * @access private\n * @function hasOwnProp\n * @param {object} object - The object to check for a property\n * @param {string} property - The property to check for\n * @returns {boolean}\n */\n\n // hasOwnProperty shim by kangax needed for Safari 2.0 support\n var hasOwnProp;\n\n (function() {\n var _hasOwnProperty = ({}).hasOwnProperty;\n /* istanbul ignore else */\n /* we have no way of testing IE 5.5 or safari 2,\n * so just assume the else gets hit */\n if (!is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined')) {\n hasOwnProp = function(object, property) {\n return _hasOwnProperty.call(object, property);\n };\n }\n else {\n hasOwnProp = function(object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */\n return ((property in object) && is(object.constructor.prototype[property], 'undefined'));\n };\n }\n })();\n\n \n\n\n // _l tracks listeners for async tests, as well as tests that execute after the initial run\n ModernizrProto._l = {};\n\n /**\n * Modernizr.on is a way to listen for the completion of async tests. Being\n * asynchronous, they may not finish before your scripts run. As a result you\n * will get a possibly false negative `undefined` value.\n *\n * @memberof Modernizr\n * @name Modernizr.on\n * @access public\n * @function on\n * @param {string} feature - String name of the feature detect\n * @param {function} cb - Callback function returning a Boolean - true if feature is supported, false if not\n * @example\n *\n * ```js\n * Modernizr.on('flash', function( result ) {\n * if (result) {\n * // the browser has flash\n * } else {\n * // the browser does not have flash\n * }\n * });\n * ```\n */\n\n ModernizrProto.on = function(feature, cb) {\n // Create the list of listeners if it doesn't exist\n if (!this._l[feature]) {\n this._l[feature] = [];\n }\n\n // Push this test on to the listener list\n this._l[feature].push(cb);\n\n // If it's already been resolved, trigger it on next tick\n if (Modernizr.hasOwnProperty(feature)) {\n // Next Tick\n setTimeout(function() {\n Modernizr._trigger(feature, Modernizr[feature]);\n }, 0);\n }\n };\n\n /**\n * _trigger is the private function used to signal test completion and run any\n * callbacks registered through [Modernizr.on](#modernizr-on)\n *\n * @memberof Modernizr\n * @name Modernizr._trigger\n * @access private\n * @function _trigger\n * @param {string} feature - string name of the feature detect\n * @param {function|boolean} [res] - A feature detection function, or the boolean =\n * result of a feature detection function\n */\n\n ModernizrProto._trigger = function(feature, res) {\n if (!this._l[feature]) {\n return;\n }\n\n var cbs = this._l[feature];\n\n // Force async\n setTimeout(function() {\n var i, cb;\n for (i = 0; i < cbs.length; i++) {\n cb = cbs[i];\n cb(res);\n }\n }, 0);\n\n // Don't trigger these again\n delete this._l[feature];\n };\n\n /**\n * addTest allows you to define your own feature detects that are not currently\n * included in Modernizr (under the covers it's the exact same code Modernizr\n * uses for its own [feature detections](https://github.com/Modernizr/Modernizr/tree/master/feature-detects)). Just like the offical detects, the result\n * will be added onto the Modernizr object, as well as an appropriate className set on\n * the html element when configured to do so\n *\n * @memberof Modernizr\n * @name Modernizr.addTest\n * @optionName Modernizr.addTest()\n * @optionProp addTest\n * @access public\n * @function addTest\n * @param {string|object} feature - The string name of the feature detect, or an\n * object of feature detect names and test\n * @param {function|boolean} test - Function returning true if feature is supported,\n * false if not. Otherwise a boolean representing the results of a feature detection\n * @example\n *\n * The most common way of creating your own feature detects is by calling\n * `Modernizr.addTest` with a string (preferably just lowercase, without any\n * punctuation), and a function you want executed that will return a boolean result\n *\n * ```js\n * Modernizr.addTest('itsTuesday', function() {\n * var d = new Date();\n * return d.getDay() === 2;\n * });\n * ```\n *\n * When the above is run, it will set Modernizr.itstuesday to `true` when it is tuesday,\n * and to `false` every other day of the week. One thing to notice is that the names of\n * feature detect functions are always lowercased when added to the Modernizr object. That\n * means that `Modernizr.itsTuesday` will not exist, but `Modernizr.itstuesday` will.\n *\n *\n * Since we only look at the returned value from any feature detection function,\n * you do not need to actually use a function. For simple detections, just passing\n * in a statement that will return a boolean value works just fine.\n *\n * ```js\n * Modernizr.addTest('hasJquery', 'jQuery' in window);\n * ```\n *\n * Just like before, when the above runs `Modernizr.hasjquery` will be true if\n * jQuery has been included on the page. Not using a function saves a small amount\n * of overhead for the browser, as well as making your code much more readable.\n *\n * Finally, you also have the ability to pass in an object of feature names and\n * their tests. This is handy if you want to add multiple detections in one go.\n * The keys should always be a string, and the value can be either a boolean or\n * function that returns a boolean.\n *\n * ```js\n * var detects = {\n * 'hasjquery': 'jQuery' in window,\n * 'itstuesday': function() {\n * var d = new Date();\n * return d.getDay() === 2;\n * }\n * }\n *\n * Modernizr.addTest(detects);\n * ```\n *\n * There is really no difference between the first methods and this one, it is\n * just a convenience to let you write more readable code.\n */\n\n function addTest(feature, test) {\n\n if (typeof feature == 'object') {\n for (var key in feature) {\n if (hasOwnProp(feature, key)) {\n addTest(key, feature[ key ]);\n }\n }\n } else {\n\n feature = feature.toLowerCase();\n var featureNameSplit = feature.split('.');\n var last = Modernizr[featureNameSplit[0]];\n\n // Again, we don't check for parent test existence. Get that right, though.\n if (featureNameSplit.length == 2) {\n last = last[featureNameSplit[1]];\n }\n\n if (typeof last != 'undefined') {\n // we're going to quit if you're trying to overwrite an existing test\n // if we were to allow it, we'd do this:\n // var re = new RegExp(\"\\\\b(no-)?\" + feature + \"\\\\b\");\n // docElement.className = docElement.className.replace( re, '' );\n // but, no rly, stuff 'em.\n return Modernizr;\n }\n\n test = typeof test == 'function' ? test() : test;\n\n // Set the value (this is the magic, right here).\n if (featureNameSplit.length == 1) {\n Modernizr[featureNameSplit[0]] = test;\n } else {\n // cast to a Boolean, if not one already\n /* jshint -W053 */\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\n }\n\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = test;\n }\n\n // Set a single class (either `feature` or `no-feature`)\n /* jshint -W041 */\n setClasses([(!!test && test != false ? '' : 'no-') + featureNameSplit.join('-')]);\n /* jshint +W041 */\n\n // Trigger the event\n Modernizr._trigger(feature, test);\n }\n\n return Modernizr; // allow chaining.\n }\n\n // After all the tests are run, add self to the Modernizr prototype\n Modernizr._q.push(function() {\n ModernizrProto.addTest = addTest;\n });\n\n \n\n/*!\n{\n \"name\": \"SVG as an tag source\",\n \"property\": \"svgasimg\",\n \"caniuse\" : \"svg-img\",\n \"tags\": [\"svg\"],\n \"authors\": [\"Chris Coyier\"],\n \"notes\": [{\n \"name\": \"HTML5 Spec\",\n \"href\": \"http://www.w3.org/TR/html5/embedded-content-0.html#the-img-element\"\n }]\n}\n!*/\n\n\n // Original Async test by Stu Cox\n // https://gist.github.com/chriscoyier/8774501\n\n // Now a Sync test based on good results here\n // http://codepen.io/chriscoyier/pen/bADFx\n\n // Note http://www.w3.org/TR/SVG11/feature#Image is *supposed* to represent\n // support for the `` tag in SVG, not an SVG file linked from an ``\n // tag in HTML – but it’s a heuristic which works\n Modernizr.addTest('svgasimg', document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1'));\n\n\n /**\n * Object.prototype.toString can be used with every object and allows you to\n * get its class easily. Abstracting it off of an object prevents situations\n * where the toString property has been overridden\n *\n * @access private\n * @function toStringFn\n * @returns {function} An abstracted toString function\n */\n\n var toStringFn = ({}).toString;\n \n/*!\n{\n \"name\": \"SVG clip paths\",\n \"property\": \"svgclippaths\",\n \"tags\": [\"svg\"],\n \"notes\": [{\n \"name\": \"Demo\",\n \"href\": \"http://srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg\"\n }]\n}\n!*/\n/* DOC\nDetects support for clip paths in SVG (only, not on HTML content).\n\nSee [this discussion](https://github.com/Modernizr/Modernizr/issues/213) regarding applying SVG clip paths to HTML content.\n*/\n\n Modernizr.addTest('svgclippaths', function() {\n return !!document.createElementNS &&\n /SVGClipPath/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'clipPath')));\n });\n\n/*!\n{\n \"name\": \"SVG filters\",\n \"property\": \"svgfilters\",\n \"caniuse\": \"svg-filters\",\n \"tags\": [\"svg\"],\n \"builderAliases\": [\"svg_filters\"],\n \"authors\": [\"Erik Dahlstrom\"],\n \"notes\": [{\n \"name\": \"W3C Spec\",\n \"href\": \"https://www.w3.org/TR/SVG11/filters.html\"\n }]\n}\n!*/\n\n // Should fail in Safari: https://stackoverflow.com/questions/9739955/feature-detecting-support-for-svg-filters.\n Modernizr.addTest('svgfilters', function() {\n var result = false;\n try {\n result = 'SVGFEColorMatrixElement' in window &&\n SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;\n }\n catch (e) {}\n return result;\n });\n\n/*!\n{\n \"name\": \"SVG foreignObject\",\n \"property\": \"svgforeignobject\",\n \"tags\": [\"svg\"],\n \"notes\": [{\n \"name\": \"W3C Spec\",\n \"href\": \"https://www.w3.org/TR/SVG11/extend.html\"\n }]\n}\n!*/\n/* DOC\nDetects support for foreignObject tag in SVG.\n*/\n\n Modernizr.addTest('svgforeignobject', function() {\n return !!document.createElementNS &&\n /SVGForeignObject/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')));\n });\n\n/*!\n{\n \"name\": \"Inline SVG\",\n \"property\": \"inlinesvg\",\n \"caniuse\": \"svg-html5\",\n \"tags\": [\"svg\"],\n \"notes\": [{\n \"name\": \"Test page\",\n \"href\": \"https://paulirish.com/demo/inline-svg\"\n }, {\n \"name\": \"Test page and results\",\n \"href\": \"https://codepen.io/eltonmesquita/full/GgXbvo/\"\n }],\n \"polyfills\": [\"inline-svg-polyfill\"],\n \"knownBugs\": [\"False negative on some Chromia browsers.\"]\n}\n!*/\n/* DOC\nDetects support for inline SVG in HTML (not within XHTML).\n*/\n\n Modernizr.addTest('inlinesvg', function() {\n var div = createElement('div');\n div.innerHTML = '';\n return (typeof SVGRect != 'undefined' && div.firstChild && div.firstChild.namespaceURI) == 'http://www.w3.org/2000/svg';\n });\n\n/*!\n{\n \"name\": \"SVG SMIL animation\",\n \"property\": \"smil\",\n \"caniuse\": \"svg-smil\",\n \"tags\": [\"svg\"],\n \"notes\": [{\n \"name\": \"W3C Synchronised Multimedia spec\",\n \"href\": \"https://www.w3.org/AudioVideo/\"\n }]\n}\n!*/\n\n // SVG SMIL animation\n Modernizr.addTest('smil', function() {\n return !!document.createElementNS &&\n /SVGAnimate/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'animate')));\n });\n\n/*!\n{\n \"name\": \"Local Storage\",\n \"property\": \"localstorage\",\n \"caniuse\": \"namevalue-storage\",\n \"tags\": [\"storage\"],\n \"knownBugs\": [],\n \"notes\": [],\n \"warnings\": [],\n \"polyfills\": [\n \"joshuabell-polyfill\",\n \"cupcake\",\n \"storagepolyfill\",\n \"amplifyjs\",\n \"yui-cacheoffline\"\n ]\n}\n!*/\n\n // In FF4, if disabled, window.localStorage should === null.\n\n // Normally, we could not test that directly and need to do a\n // `('localStorage' in window) && ` test first because otherwise Firefox will\n // throw bugzil.la/365772 if cookies are disabled\n\n // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem\n // will throw the exception:\n // QUOTA_EXCEEDED_ERROR DOM Exception 22.\n // Peculiarly, getItem and removeItem calls do not throw.\n\n // Because we are forced to try/catch this, we'll go aggressive.\n\n // Just FWIW: IE8 Compat mode supports these features completely:\n // www.quirksmode.org/dom/html5.html\n // But IE8 doesn't support either with local files\n\n Modernizr.addTest('localstorage', function() {\n var mod = 'modernizr';\n try {\n localStorage.setItem(mod, mod);\n localStorage.removeItem(mod);\n return true;\n } catch (e) {\n return false;\n }\n });\n\n/*!\n{\n \"name\": \"Session Storage\",\n \"property\": \"sessionstorage\",\n \"tags\": [\"storage\"],\n \"polyfills\": [\"joshuabell-polyfill\", \"cupcake\", \"sessionstorage\"]\n}\n!*/\n\n // Because we are forced to try/catch this, we'll go aggressive.\n\n // Just FWIW: IE8 Compat mode supports these features completely:\n // www.quirksmode.org/dom/html5.html\n // But IE8 doesn't support either with local files\n Modernizr.addTest('sessionstorage', function() {\n var mod = 'modernizr';\n try {\n sessionStorage.setItem(mod, mod);\n sessionStorage.removeItem(mod);\n return true;\n } catch (e) {\n return false;\n }\n });\n\n/*!\n{\n \"name\": \"Web SQL Database\",\n \"property\": \"websqldatabase\",\n \"caniuse\": \"sql-storage\",\n \"tags\": [\"storage\"]\n}\n!*/\n\n // Chrome incognito mode used to throw an exception when using openDatabase\n // It doesn't anymore.\n Modernizr.addTest('websqldatabase', 'openDatabase' in window);\n\n/*!\n{\n \"name\": \"CSS Multiple Backgrounds\",\n \"caniuse\": \"multibackgrounds\",\n \"property\": \"multiplebgs\",\n \"tags\": [\"css\"]\n}\n!*/\n\n // Setting multiple images AND a color on the background shorthand property\n // and then querying the style.background property value for the number of\n // occurrences of \"url(\" is a reliable method for detecting ACTUAL support for this!\n\n Modernizr.addTest('multiplebgs', function() {\n var style = createElement('a').style;\n style.cssText = 'background:url(https://),url(https://),red url(https://)';\n\n // If the UA supports multiple backgrounds, there should be three occurrences\n // of the string \"url(\" in the return value for elemStyle.background\n return (/(url\\s*\\(.*?){3}/).test(style.background);\n });\n\n\n // Run each test\n testRunner();\n\n // Remove the \"no-js\" class if it exists\n setClasses(classes);\n\n delete ModernizrProto.addTest;\n delete ModernizrProto.addAsyncTest;\n\n // Run the things that are supposed to run after the tests\n for (var i = 0; i < Modernizr._q.length; i++) {\n Modernizr._q[i]();\n }\n\n // Leak Modernizr namespace\n window.Modernizr = Modernizr;\n\n\n;\n\n})(window, document);","\nimport './modernizr.js'; // 'npm run modernizr' to create this file\n"],"sourceRoot":""}