{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/project-view/project-view.scss?2004","webpack:///./src/components/dropdowns/dropdown-domain.vue?59a1","webpack:///./src/components/form-fields/search-input.vue?3cc6","webpack:///./src/components/search-components/search-items-list-view.vue?03b2","webpack:///./src/assets/flags/no.svg","webpack:///./src/components/search-components/agent-criteria-quarter-selector.vue?40c5","webpack:///./src/views/list-view/list-view.scss","webpack:///./src/views/access-expired/access-expired-view.scss","webpack:///./src/components/general-components/image-carousel.vue?2b6f","webpack:///./src/components/dashboard-components/agents-overview.vue?8bb6","webpack:///./src/components/containers/base-container.vue?1d72","webpack:///./src/components/buttons/base-button.vue?f83a","webpack:///./src/components/containers/base-alert.vue?89a5","webpack:///./src/views/impersonate/impersonate-view.scss","webpack:///./src/components/buttons/base-logo.vue?c189","webpack:///./src/components/dropdowns/dropdown-notes.vue?9158","webpack:///./src/components/buttons/base-button-icon.vue?23db","webpack:///./src/views/user-settings/user-settings-view.scss?b0a0","webpack:///./src/views/search-company/search-company-view.scss","webpack:///./src/views/help/help-view.scss","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/invalid-session/invalid-session-view.scss","webpack:///./src/components/phase-timeline.vue?edf0","webpack:///./src/components/modals/modal-paywall.vue?4980","webpack:///./src/components/dashboard-components/company-lists-overview.vue?41b9","webpack:///./src/assets/flags/dk.svg","webpack:///./src/views/dashboard/dashboard-view.scss?be0c","webpack:///./src/assets/flags/se.svg","webpack:///./src/views/print-project/print-project-view.scss?35d4","webpack:///./src/components/general-components/update-list.vue?4a62","webpack:///./src/components/cards/list-item-card.vue?8f62","webpack:///./src/components/form-fields/input-tags.vue?21aa","webpack:///./src/views/blacklist/blacklist-view.scss","webpack:///./src/components/search-components/agent-criteria-filter.vue?f832","webpack:///./src/components/form-fields/base-input-select.vue?67d7","webpack:///./src/components/forms/form-login-limited-access.vue?7930","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue?fb60","webpack:///./src/views/activate/activate-view.scss?7a1a","webpack:///./src/components/general-components/the-login-prompt.vue?5e87","webpack:///./src/components/draggables/horizontal-draggable.vue?c92d","webpack:///./src/components/dropdowns/base-dropdown.vue?ce2a","webpack:///./src/assets/flags sync ^\\.\\/.*\\.svg$","webpack:///./src/views/search/search-view.scss?0d6b","webpack:///./src/components/search-components/page-navigation-bar.vue?db37","webpack:///./src/components/dashboard-components/agent-count-field.vue?98f6","webpack:///./src/components/footers/the-footer.vue?65ee","webpack:///./src/views/company-list/company-list-view.scss","webpack:///./src/components/dropdowns/dropdown-profile.vue?9a8d","webpack:///./src/components/headers/the-header.vue?899a","webpack:///./src/components/sidebars/base-sidebar.vue?ffc4","webpack:///./src/components/company-list-components/company-projects-list.vue?77de","webpack:///./src/views/print-procurement/print-procurement-view.scss?04a0","webpack:///./src/components/search-components/agent-criteria-menu.vue?3fc0","webpack:///./src/components/list-components/list-overview.vue?1b51","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?fdb5","webpack:///./src/components/cards/search-item-card.vue?65fb","webpack:///./src/components/dropdowns/dropdown-profile-content.vue?99c8","webpack:///./src/util/enums/router-names.ts","webpack:///./src/util/language-utils.ts","webpack:///./src/util/cookie-utils.ts","webpack:///./src/util/enums/response-codes.ts","webpack:///./src/services/superclasses/abstract-service.ts","webpack:///./src/services/config/api.config.ts","webpack:///./src/services/restapi/agent-service.ts","webpack:///./src/store/preloader.ts","webpack:///./src/store/modules/agent-store.ts","webpack:///./src/interfaces/quarter.ts","webpack:///./src/services/restapi/blacklist-service.ts","webpack:///./src/services/restapi/update-service.ts","webpack:///./src/util/global-functions.ts","webpack:///./src/store/modules/blacklist-store.ts","webpack:///./src/services/restapi/company-list-service.ts","webpack:///./src/store/modules/company-list-store.ts","webpack:///./src/services/restapi/country-service.ts","webpack:///./src/store/modules/country-store.ts","webpack:///./src/util/criteria-utils.ts","webpack:///./src/services/restapi/criterion-service.ts","webpack:///./src/store/modules/criterion-store.ts","webpack:///./src/store/modules/domain-store.ts","webpack:///./src/store/modules/file-store.ts","webpack:///./src/localization/messages.ts","webpack:///./src/localization/locales/number-formats.ts","webpack:///./src/localization/i18n.ts","webpack:///./src/store/modules/language-store.ts","webpack:///./src/services/restapi/limited-access-service.ts","webpack:///./src/store/modules/limited-access-store.ts","webpack:///./src/services/restapi/list-service.ts","webpack:///./src/util/enums/modal-ids.ts","webpack:///./src/store/modules/list-store.ts","webpack:///./src/store/modules/modal-store.ts","webpack:///./src/services/restapi/procurement-phase-service.ts","webpack:///./src/store/modules/procurement-phase-store.ts","webpack:///./src/services/restapi/procurement-type-service.ts","webpack:///./src/store/modules/procurement-type-store.ts","webpack:///./src/services/restapi/project-phase-service.ts","webpack:///./src/store/modules/project-phase-store.ts","webpack:///./src/services/restapi/role-service.ts","webpack:///./src/store/modules/role-store.ts","webpack:///./src/services/restapi/company-service.ts","webpack:///./src/interfaces/enums/mail-time.ts","webpack:///./src/util/enums/order-by-options.ts","webpack:///./src/store/modules/search-company-store.ts","webpack:///./src/util/enums/free-search-types.ts","webpack:///./src/util/enums/search-item-types.ts","webpack:///./src/store/storage.ts","webpack:///./src/store/modules/search-store.ts","webpack:///./src/views/access-expired/access-expired-view.vue?8b39","webpack:///./src/components/forms/form-book-demo.vue?247e","webpack:///./src/components/forms/form-book-demo.vue?eba4","webpack:///./src/components/forms/form-book-demo.vue?f99a","webpack:///./src/components/forms/form-book-demo.vue","webpack:///./src/views/access-expired/access-expired-view.ts","webpack:///./src/views/access-expired/access-expired-view.ts?6376","webpack:///./src/views/access-expired/access-expired-view.vue","webpack:///./src/views/activate/activate-view.vue?67d4","webpack:///./src/components/forms/form-change-password.vue?5383","webpack:///./src/components/forms/abstract-form.vue?dda0","webpack:///./src/components/forms/abstract-form.vue?332b","webpack:///./src/components/forms/abstract-form.vue?096b","webpack:///./src/components/forms/abstract-form.vue","webpack:///./src/components/forms/form-login.vue?f613","webpack:///./src/services/restapi/user-service.ts","webpack:///./src/components/forms/form-login.vue?b1c6","webpack:///./src/components/forms/form-login.vue?d154","webpack:///./src/components/forms/form-login.vue","webpack:///./src/components/forms/form-change-password.vue?496f","webpack:///./src/components/forms/form-change-password.vue?47ca","webpack:///./src/components/forms/form-change-password.vue","webpack:///./src/components/headers/the-header.vue?b902","webpack:///./src/components/buttons/base-logo.vue?f228","webpack:///./src/components/buttons/base-logo.vue?0f6b","webpack:///./src/components/buttons/base-logo.vue?bbd7","webpack:///./src/components/buttons/base-logo.vue","webpack:///./src/components/dropdowns/dropdown-domain.vue?4cde","webpack:///./src/components/dropdowns/dropdown-domain.vue?5f8d","webpack:///./src/components/dropdowns/dropdown-domain.vue?ccf9","webpack:///./src/components/dropdowns/dropdown-domain.vue","webpack:///./src/components/dropdowns/dropdown-profile.vue?7b4a","webpack:///./src/components/dropdowns/dropdown-profile-content.vue?02bd","webpack:///./src/components/dropdowns/dropdown-profile-content.vue?cfc1","webpack:///./src/components/dropdowns/dropdown-profile-content.vue?0755","webpack:///./src/components/dropdowns/dropdown-profile-content.vue","webpack:///./src/components/dropdowns/dropdown-profile.vue?48e9","webpack:///./src/components/dropdowns/dropdown-profile.vue?8904","webpack:///./src/components/dropdowns/dropdown-profile.vue","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue?e2c3","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue?125f","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue?30b0","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue","webpack:///./src/components/headers/the-header.vue?c84a","webpack:///./src/components/headers/the-header.vue?6356","webpack:///./src/components/headers/the-header.vue","webpack:///./src/views/activate/activate-view.ts","webpack:///./src/views/activate/activate-view.ts?91e9","webpack:///./src/views/activate/activate-view.vue","webpack:///./src/views/blacklist/blacklist-view.vue?f350","webpack:///./src/util/blacklist-utils.ts","webpack:///./src/components/modals/base-modal-container.vue?9b65","webpack:///./src/components/modals/base-modal-container.vue?271d","webpack:///./src/components/modals/base-modal-container.vue?3e41","webpack:///./src/components/modals/base-modal-container.vue","webpack:///./src/components/cards/list-item-card.vue?2cfa","webpack:///./src/util/date-utils.ts","webpack:///./src/components/dropdowns/dropdown-notes.vue?23f0","webpack:///./src/components/general-components/note-list.vue?3bdb","webpack:///./src/components/dropdowns/dropdown-mail-export.vue?b23b","webpack:///./src/components/dropdowns/dropdown-mail-export.vue?c2c7","webpack:///./src/components/dropdowns/dropdown-mail-export.vue?6264","webpack:///./src/components/dropdowns/dropdown-mail-export.vue","webpack:///./src/util/format-utils.ts","webpack:///./src/components/general-components/note-list.vue?7a4e","webpack:///./src/components/general-components/note-list.vue?74c1","webpack:///./src/components/general-components/note-list.vue","webpack:///./src/components/dropdowns/dropdown-notes.vue?1c5f","webpack:///./src/components/dropdowns/dropdown-notes.vue?8f7f","webpack:///./src/components/dropdowns/dropdown-notes.vue","webpack:///./src/components/containers/icon-bar.vue?0ea7","webpack:///./src/components/containers/icon-bar.vue?169e","webpack:///./src/util/enums/language-ids.ts","webpack:///./src/components/containers/icon-bar.vue?b2c7","webpack:///./src/components/containers/icon-bar.vue","webpack:///./src/components/modals/modal-note-delete.vue?81d0","webpack:///./src/services/restapi/note-service.ts","webpack:///./src/components/modals/modal-note-delete.vue?063f","webpack:///./src/components/modals/modal-note-delete.vue?5ca7","webpack:///./src/components/modals/modal-note-delete.vue","webpack:///./src/components/modals/modal-note-edit.vue?7b6f","webpack:///./src/components/modals/modal-note-edit.vue?6c09","webpack:///./src/components/modals/modal-note-edit.vue?4634","webpack:///./src/components/modals/modal-note-edit.vue","webpack:///./src/components/general-components/update-list.vue?8742","webpack:///./src/components/general-components/update-list.vue?7df3","webpack:///./src/components/general-components/update-list.vue?63d1","webpack:///./src/components/general-components/update-list.vue","webpack:///./src/components/cards/list-item-card.vue?bcdd","webpack:///./src/components/cards/list-item-card.vue?0467","webpack:///./src/components/cards/list-item-card.vue","webpack:///./src/components/search-components/search-items-list-view.vue?3a14","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?8287","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?487c","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?c886","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue","webpack:///./src/components/dropdowns/dropdown-updates.vue?5f17","webpack:///./src/components/dropdowns/dropdown-updates.vue?384d","webpack:///./src/components/dropdowns/dropdown-updates.vue?ace2","webpack:///./src/components/dropdowns/dropdown-updates.vue","webpack:///./src/components/search-components/search-items-list-view.vue?4e33","webpack:///./src/components/search-components/search-items-list-view.vue?81b7","webpack:///./src/components/search-components/search-items-list-view.vue","webpack:///./src/components/layouts/small-list-layout.vue?4faf","webpack:///./src/components/dropdowns/dropdown-order-by.vue?bdc8","webpack:///./src/components/dropdowns/dropdown-order-by.vue?cf42","webpack:///./src/components/dropdowns/dropdown-order-by.vue?a60a","webpack:///./src/components/dropdowns/dropdown-order-by.vue","webpack:///./src/components/form-fields/search-input.vue?4941","webpack:///./src/components/form-fields/search-input.vue?4d8f","webpack:///./src/components/form-fields/search-input.vue?9700","webpack:///./src/components/form-fields/search-input.vue","webpack:///./src/components/cards/search-item-card.vue?125e","webpack:///./src/components/cards/search-item-card.vue?15db","webpack:///./src/components/cards/search-item-card.vue?04fa","webpack:///./src/components/cards/search-item-card.vue","webpack:///./src/components/layouts/small-list-layout.vue?b034","webpack:///./src/components/layouts/small-list-layout.vue?e31c","webpack:///./src/components/layouts/small-list-layout.vue","webpack:///./src/views/blacklist/blacklist-view.ts","webpack:///./src/views/blacklist/blacklist-view.ts?2d3f","webpack:///./src/views/blacklist/blacklist-view.vue","webpack:///./src/views/change-password/change-password-view.vue?dddc","webpack:///./src/views/change-password/change-password-view.ts","webpack:///./src/views/change-password/change-password-view.ts?607c","webpack:///./src/views/change-password/change-password-view.vue","webpack:///./src/views/company-list/company-list-view.vue?50e3","webpack:///./src/components/error-components/error-401.vue?9117","webpack:///./src/components/error-components/error-401.vue?b73e","webpack:///./src/components/error-components/error-401.vue?df53","webpack:///./src/components/error-components/error-401.vue","webpack:///./src/components/company-list-components/table-company-list.vue?b9df","webpack:///./src/components/company-list-components/company-projects-list.vue?2990","webpack:///./src/components/company-list-components/company-projects-list.vue?07dc","webpack:///./src/components/company-list-components/company-projects-list.vue?7800","webpack:///./src/components/company-list-components/company-projects-list.vue","webpack:///./src/components/company-list-components/table-company-list.vue?8864","webpack:///./src/components/company-list-components/table-company-list.vue?9f27","webpack:///./src/components/company-list-components/table-company-list.vue","webpack:///./src/views/company-list/company-list-view.ts","webpack:///./src/views/company-list/company-list-view.ts?27bf","webpack:///./src/views/company-list/company-list-view.vue","webpack:///./src/views/company/company-view.vue?dc2e","webpack:///./src/services/restapi/contact-person-service.ts","webpack:///./src/views/company/company-view.ts","webpack:///./src/views/company/company-view.ts?7d1f","webpack:///./src/views/company/company-view.vue","webpack:///./src/views/dashboard/dashboard-view.vue?32ba","webpack:///./src/components/dashboard-components/agents-overview.vue?0214","webpack:///./src/components/dashboard-components/agent-count-field.vue?03d8","webpack:///./src/components/dashboard-components/agent-count-field.vue?a408","webpack:///./src/components/dashboard-components/agent-count-field.vue?6f42","webpack:///./src/components/dashboard-components/agent-count-field.vue","webpack:///./src/components/modals/modal-agent-settings.vue?1198","webpack:///./src/components/forms/form-mail-time.vue?f48a","webpack:///./src/components/forms/form-mail-time.vue?4f5b","webpack:///./src/components/forms/form-mail-time.vue?f37e","webpack:///./src/components/forms/form-mail-time.vue","webpack:///./src/components/modals/modal-agent-settings.vue?b7d6","webpack:///./src/components/modals/modal-agent-settings.vue?6ac4","webpack:///./src/components/modals/modal-agent-settings.vue","webpack:///./src/components/dashboard-components/agents-overview.vue?5472","webpack:///./src/components/dashboard-components/agents-overview.vue?0c4e","webpack:///./src/components/dashboard-components/agents-overview.vue","webpack:///./src/components/cards/article-card.vue?ebe8","webpack:///./src/components/cards/article-card.vue?8b31","webpack:///./src/components/cards/article-card.vue?e433","webpack:///./src/components/cards/article-card.vue","webpack:///./src/components/dashboard-components/company-lists-overview.vue?3e81","webpack:///./src/components/dashboard-components/company-lists-overview.vue?1217","webpack:///./src/components/dashboard-components/company-lists-overview.vue?eb76","webpack:///./src/components/dashboard-components/company-lists-overview.vue","webpack:///./src/components/draggables/horizontal-draggable.vue?e23e","webpack:///./src/components/draggables/horizontal-draggable.vue?a03b","webpack:///./src/components/draggables/horizontal-draggable.vue?1acc","webpack:///./src/components/draggables/horizontal-draggable.vue","webpack:///./src/components/dashboard-components/lists-overview.vue?94e7","webpack:///./src/components/dropdowns/dropdown-activitylog.vue?6eb6","webpack:///./src/components/general-components/base-loading-spinner.vue?da61","webpack:///./src/components/general-components/base-loading-spinner.vue?d1eb","webpack:///./src/components/general-components/base-loading-spinner.vue?80f6","webpack:///./src/components/general-components/base-loading-spinner.vue","webpack:///./src/components/dropdowns/dropdown-activitylog.vue?306d","webpack:///./src/components/dropdowns/dropdown-activitylog.vue?58e8","webpack:///./src/components/dropdowns/dropdown-activitylog.vue","webpack:///./src/components/dashboard-components/lists-overview.vue?bd04","webpack:///./src/components/dashboard-components/lists-overview.vue?1056","webpack:///./src/components/dashboard-components/lists-overview.vue","webpack:///./src/components/cards/project-reference-card.vue?bcaa","webpack:///./src/components/cards/project-reference-card.vue?7cb6","webpack:///./src/components/cards/project-reference-card.vue?471e","webpack:///./src/components/cards/project-reference-card.vue","webpack:///./src/views/dashboard/dashboard-view.ts","webpack:///./src/views/dashboard/dashboard-view.ts?85b2","webpack:///./src/views/dashboard/dashboard-view.vue","webpack:///./src/views/error-404/error-404-view.vue?273a","webpack:///./src/components/error-components/error-404.vue?84b7","webpack:///./src/components/error-components/error-404.vue?3fab","webpack:///./src/components/error-components/error-404.vue?0717","webpack:///./src/components/error-components/error-404.vue","webpack:///./src/views/error-404/error-404-view.ts","webpack:///./src/views/error-404/error-404-view.ts?7670","webpack:///./src/views/error-404/error-404-view.vue","webpack:///./src/views/help/help-view.vue?1510","webpack:///./src/services/restapi/notification-service.ts","webpack:///./src/components/sidebars/notification-sidebar.vue?b3e9","webpack:///./src/components/buttons/base-button.vue?7d0f","webpack:///./src/components/buttons/base-button.vue?f0c9","webpack:///./src/components/buttons/base-button.vue?a264","webpack:///./src/components/buttons/base-button.vue","webpack:///./src/components/sidebars/base-sidebar.vue?aabc","webpack:///./src/components/sidebars/base-sidebar.vue?8fc4","webpack:///./src/components/sidebars/base-sidebar.vue?a5e2","webpack:///./src/components/sidebars/base-sidebar.vue","webpack:///./src/components/sidebars/notification-sidebar.vue?9054","webpack:///./src/components/sidebars/notification-sidebar.vue?be72","webpack:///./src/components/sidebars/notification-sidebar.vue","webpack:///./src/components/help-components/user-guide.vue?4218","webpack:///./src/services/restapi/helpdesk-service.ts","webpack:///./src/components/help-components/user-guide-row.vue?ed01","webpack:///./src/components/buttons/base-button-icon.vue?715e","webpack:///./src/components/buttons/base-button-icon.vue?fc7c","webpack:///./src/components/buttons/base-button-icon.vue?4cc2","webpack:///./src/components/buttons/base-button-icon.vue","webpack:///./src/components/help-components/user-guide-row.vue?a821","webpack:///./src/components/help-components/user-guide-row.vue?5321","webpack:///./src/components/help-components/user-guide-row.vue","webpack:///./src/components/help-components/user-guide.vue?7beb","webpack:///./src/components/help-components/user-guide.vue?45d2","webpack:///./src/components/help-components/user-guide.vue","webpack:///./src/views/help/help-view.ts","webpack:///./src/views/help/help-view.ts?c472","webpack:///./src/views/help/help-view.vue","webpack:///./src/views/impersonate/impersonate-view.vue?15a7","webpack:///./src/components/forms/form-impersonate.vue?5082","webpack:///./src/components/forms/form-impersonate.vue?27ce","webpack:///./src/components/forms/form-impersonate.vue?ce62","webpack:///./src/components/forms/form-impersonate.vue","webpack:///./src/views/impersonate/impersonate-view.ts","webpack:///./src/views/impersonate/impersonate-view.ts?6043","webpack:///./src/views/impersonate/impersonate-view.vue","webpack:///./src/views/invalid-session/invalid-session-view.vue?15bc","webpack:///./src/views/invalid-session/invalid-session-view.ts","webpack:///./src/views/invalid-session/invalid-session-view.ts?4f8b","webpack:///./src/views/invalid-session/invalid-session-view.vue","webpack:///./src/views/list-view/list-view.vue?43e5","webpack:///./src/components/list-components/list-overview.vue?1e68","webpack:///./src/components/list-components/list-overview.vue?9bc8","webpack:///./src/components/list-components/list-overview.vue?2e57","webpack:///./src/components/list-components/list-overview.vue","webpack:///./src/views/list-view/list-view.ts","webpack:///./src/views/list-view/list-view.ts?8ffe","webpack:///./src/views/list-view/list-view.vue","webpack:///./src/views/print-procurement/print-procurement-view.vue?10f6","webpack:///./src/components/print/print-note.vue?7ad4","webpack:///./src/components/print/print-note.vue?5d5a","webpack:///./src/components/print/print-note.vue?3163","webpack:///./src/components/print/print-note.vue","webpack:///./src/components/print/print-row.vue?0ad3","webpack:///./src/components/print/print-row.vue?960e","webpack:///./src/components/print/print-row.vue?d256","webpack:///./src/components/print/print-row.vue","webpack:///./src/components/print/print-section.vue?73f3","webpack:///./src/components/print/print-section.vue?5f64","webpack:///./src/components/print/print-section.vue?b703","webpack:///./src/components/print/print-section.vue","webpack:///./src/services/restapi/procurement-service.ts","webpack:///./src/services/restapi/project-service.ts","webpack:///./src/views/print-procurement/print-procurement-view.ts","webpack:///./src/views/print-procurement/print-procurement-view.ts?1688","webpack:///./src/views/print-procurement/print-procurement-view.vue","webpack:///./src/views/print-project/print-project-view.vue?7c71","webpack:///./src/views/print-project/print-project-view.ts","webpack:///./src/util/enums/announcement-types.ts","webpack:///./src/views/print-project/print-project-view.ts?e069","webpack:///./src/views/print-project/print-project-view.vue","webpack:///./src/views/procurement-view/procurement-view.vue?b580","webpack:///./src/components/containers/container-date-row.vue?f881","webpack:///./src/components/containers/container-date-row.vue?0c33","webpack:///./src/components/containers/container-date-row.vue?b446","webpack:///./src/components/containers/container-date-row.vue","webpack:///./src/components/modals/modal-announcement-info.vue?b35a","webpack:///./src/components/modals/modal-announcement-info.vue?88d9","webpack:///./src/components/modals/modal-announcement-info.vue?2c60","webpack:///./src/components/modals/modal-announcement-info.vue","webpack:///./src/components/modals/modal-paywall.vue?203b","webpack:///./src/components/modals/abstract-modal.vue?6055","webpack:///./src/components/modals/abstract-modal.vue?7e50","webpack:///./src/components/modals/abstract-modal.vue?8880","webpack:///./src/components/modals/abstract-modal.vue","webpack:///./src/components/modals/modal-paywall.vue?f12d","webpack:///./src/components/modals/modal-paywall.vue?9035","webpack:///./src/components/modals/modal-paywall.vue","webpack:///./src/components/modals/modal-role-info.vue?f267","webpack:///./src/services/restapi/tip-service.ts","webpack:///./src/components/modals/modal-role-info.vue?b108","webpack:///./src/components/modals/modal-role-info.vue?5c93","webpack:///./src/components/modals/modal-role-info.vue","webpack:///./src/components/phase-timeline.vue?52ef","webpack:///./src/components/phase-timeline.vue?e022","webpack:///./src/components/phase-timeline.vue?d3ad","webpack:///./src/components/phase-timeline.vue","webpack:///./src/views/procurement-view/procurement-view.ts","webpack:///./src/views/procurement-view/procurement-view.ts?3fbe","webpack:///./src/views/procurement-view/procurement-view.vue","webpack:///./src/views/project-view/project-view.vue?af19","webpack:///./src/components/general-components/image-carousel.vue?df04","webpack:///./src/components/general-components/image-carousel.vue?610e","webpack:///./src/components/general-components/image-carousel.vue?8185","webpack:///./src/components/general-components/image-carousel.vue","webpack:///./src/views/project-view/project-view.ts","webpack:///./src/views/project-view/project-view.ts?4f1c","webpack:///./src/views/project-view/project-view.vue","webpack:///./src/views/search-company/search-company-view.vue?087f","webpack:///./src/components/search-components/company-criteria-menu.vue?e3fa","webpack:///./src/components/buttons/base-fold-menu.vue?e483","webpack:///./src/components/buttons/base-fold-menu.vue?2c3c","webpack:///./src/components/buttons/base-fold-menu.vue?d694","webpack:///./src/components/buttons/base-fold-menu.vue","webpack:///./src/components/search-components/country-selector.vue?ee10","webpack:///./src/components/search-components/country-selector.vue?9d0b","webpack:///./src/components/search-components/country-selector.vue?60ca","webpack:///./src/components/search-components/country-selector.vue","webpack:///./src/components/search-components/criteria-tree.vue?430e","webpack:///./src/components/search-components/criteria-tree.vue?d3c1","webpack:///./src/components/search-components/criteria-tree.vue?e5d3","webpack:///./src/components/search-components/criteria-tree.vue","webpack:///./src/components/search-components/company-criteria-menu.vue?aa98","webpack:///./src/components/search-components/company-criteria-menu.vue?4df9","webpack:///./src/components/search-components/company-criteria-menu.vue","webpack:///./src/components/company-list-components/table-company-lists-all.vue?68b2","webpack:///./src/components/company-list-components/table-company-lists-all.vue?c936","webpack:///./src/components/company-list-components/table-company-lists-all.vue?d2bf","webpack:///./src/components/company-list-components/table-company-lists-all.vue","webpack:///./src/views/search-company/search-company-view.ts","webpack:///./src/views/search-company/search-company-view.ts?afc8","webpack:///./src/views/search-company/search-company-view.vue","webpack:///./src/views/search/search-view.vue?db02","webpack:///./src/components/search-components/agent-criteria-menu.vue?9936","webpack:///./src/components/search-components/agent-criteria-filter.vue?c715","webpack:///./src/components/search-components/agent-criteria-filter.vue?ef6d","webpack:///./src/components/search-components/agent-criteria-filter.vue?ebd1","webpack:///./src/components/search-components/agent-criteria-filter.vue","webpack:///./src/components/search-components/agent-criteria-quarter-selector.vue?05e1","webpack:///./src/components/dropdowns/base-dropdown.vue?dd91","webpack:///./src/components/dropdowns/base-dropdown.vue?9418","webpack:///./src/components/dropdowns/base-dropdown.vue?d3b2","webpack:///./src/components/dropdowns/base-dropdown.vue","webpack:///./src/components/search-components/agent-criteria-quarter-selector.vue?7917","webpack:///./src/components/search-components/agent-criteria-quarter-selector.vue?76bb","webpack:///./src/components/search-components/agent-criteria-quarter-selector.vue","webpack:///./src/components/search-components/agent-criteria-range.vue?4e37","webpack:///./src/components/search-components/agent-criteria-range.vue?63e7","webpack:///./src/components/search-components/agent-criteria-range.vue?3dca","webpack:///./src/components/search-components/agent-criteria-range.vue","webpack:///./src/components/search-components/criterion-tree.vue?01d8","webpack:///./src/components/search-components/criterion-tree.vue?b552","webpack:///./src/components/search-components/criterion-tree.vue?2a07","webpack:///./src/components/search-components/criterion-tree.vue","webpack:///./src/components/search-components/agent-criteria-menu.vue?0977","webpack:///./src/components/search-components/agent-criteria-menu.vue?ee04","webpack:///./src/components/search-components/agent-criteria-menu.vue","webpack:///./src/components/modals/modal-agent-replace.vue?110d","webpack:///./src/components/modals/modal-agent-replace.vue?3623","webpack:///./src/components/modals/modal-agent-replace.vue?d396","webpack:///./src/components/modals/modal-agent-replace.vue","webpack:///./src/components/search-components/page-navigation-bar.vue?1490","webpack:///./src/components/search-components/page-navigation-bar.vue?838a","webpack:///./src/components/search-components/page-navigation-bar.vue?d3c6","webpack:///./src/components/search-components/page-navigation-bar.vue","webpack:///./src/views/search/search-view.ts","webpack:///./src/views/search/search-view.ts?6b01","webpack:///./src/views/search/search-view.vue","webpack:///./src/views/user-settings/user-settings-view.vue?de60","webpack:///./src/components/forms/form-user-settings.vue?2be5","webpack:///./src/components/forms/form-user-settings.vue?0dd7","webpack:///./src/components/forms/form-user-settings.vue?5e5e","webpack:///./src/components/forms/form-user-settings.vue","webpack:///./src/util/form-validator.ts","webpack:///./src/views/user-settings/user-settings-view.ts","webpack:///./src/views/user-settings/user-settings-view.ts?8a75","webpack:///./src/views/user-settings/user-settings-view.vue","webpack:///./src/router/index.ts","webpack:///./src/store/modules/session-store.ts","webpack:///./src/services/restapi/auth-service.ts","webpack:///./src/store/modules/user-store.ts","webpack:///./src/store/index.ts","webpack:///./src/util/domain-utils.ts","webpack:///./src/util/font-awesome-import.ts","webpack:///./src/app.vue?8997","webpack:///./src/app.vue","webpack:///./src/components/containers/base-alert.vue?b6bf","webpack:///./src/components/containers/base-alert.vue?ba92","webpack:///./src/components/containers/base-alert.vue?c3e9","webpack:///./src/components/containers/base-alert.vue","webpack:///./src/components/containers/base-container.vue?4a21","webpack:///./src/components/containers/base-container.vue?8c44","webpack:///./src/components/containers/base-container.vue?3b32","webpack:///./src/components/containers/base-container.vue","webpack:///./src/components/form-fields/base-input-checkbox.vue?c941","webpack:///./src/components/form-fields/base-input-checkbox.vue?42dc","webpack:///./src/components/form-fields/base-input-checkbox.vue?744f","webpack:///./src/components/form-fields/base-input-checkbox.vue","webpack:///./src/components/form-fields/base-input-field.vue?98f4","webpack:///./src/util/string-utils.ts","webpack:///./src/components/form-fields/base-input-field.vue?2db6","webpack:///./src/components/form-fields/base-input-field.vue?88a2","webpack:///./src/components/form-fields/base-input-field.vue","webpack:///./src/components/form-fields/base-input-radio.vue?d0a5","webpack:///./src/components/form-fields/base-input-radio.vue?8351","webpack:///./src/components/form-fields/base-input-radio.vue?07b7","webpack:///./src/components/form-fields/base-input-radio.vue","webpack:///./src/components/form-fields/base-input-select.vue?17fb","webpack:///./src/components/form-fields/base-input-select.vue?6925","webpack:///./src/components/form-fields/base-input-select.vue?cf8d","webpack:///./src/components/form-fields/base-input-select.vue","webpack:///./src/components/form-fields/base-input-textarea.vue?24aa","webpack:///./src/components/form-fields/base-input-textarea.vue?63bf","webpack:///./src/components/form-fields/base-input-textarea.vue?e631","webpack:///./src/components/form-fields/base-input-textarea.vue","webpack:///./src/components/form-fields/input-phone.vue?608e","webpack:///./src/components/form-fields/input-phone.vue?eadb","webpack:///./src/components/form-fields/input-phone.vue?5fb5","webpack:///./src/components/form-fields/input-phone.vue","webpack:///./src/components/form-fields/input-tags.vue?0873","webpack:///./src/components/form-fields/input-tags.vue?c655","webpack:///./src/components/form-fields/input-tags.vue?2549","webpack:///./src/components/form-fields/input-tags.vue","webpack:///./src/views/layouts/layout.vue?04d1","webpack:///./src/components/modals/modal-agent-delete.vue?a340","webpack:///./src/components/modals/modal-agent-delete.vue?3830","webpack:///./src/components/modals/modal-agent-delete.vue?0879","webpack:///./src/components/modals/modal-agent-delete.vue","webpack:///./src/components/modals/modal-blacklist-remove.vue?e3ab","webpack:///./src/components/modals/modal-blacklist-remove.vue?1c98","webpack:///./src/components/modals/modal-blacklist-remove.vue?4028","webpack:///./src/components/modals/modal-blacklist-remove.vue","webpack:///./src/components/modals/modal-blacklist-settings.vue?f944","webpack:///./src/components/modals/modal-blacklist-settings.vue?3964","webpack:///./src/components/modals/modal-blacklist-settings.vue?d9c8","webpack:///./src/components/modals/modal-blacklist-settings.vue","webpack:///./src/components/modals/modal-company-list-add.vue?d69c","webpack:///./src/components/modals/modal-company-list-add.vue?6863","webpack:///./src/components/modals/modal-company-list-add.vue?a77d","webpack:///./src/components/modals/modal-company-list-add.vue","webpack:///./src/components/modals/modal-company-list-remove.vue?0f20","webpack:///./src/components/modals/modal-company-list-remove.vue?ebfc","webpack:///./src/components/modals/modal-company-list-remove.vue?90a2","webpack:///./src/components/modals/modal-company-list-remove.vue","webpack:///./src/components/modals/modal-company-list-settings.vue?b0d7","webpack:///./src/components/modals/modal-company-list-settings.vue?6bc1","webpack:///./src/components/modals/modal-company-list-settings.vue?91e7","webpack:///./src/components/modals/modal-company-list-settings.vue","webpack:///./src/components/modals/modal-list-add.vue?b2bf","webpack:///./src/components/modals/modal-list-add.vue?a43e","webpack:///./src/components/modals/modal-list-add.vue?31db","webpack:///./src/components/modals/modal-list-add.vue","webpack:///./src/components/modals/modal-list-remove.vue?5990","webpack:///./src/components/modals/modal-list-remove.vue?5a4d","webpack:///./src/components/modals/modal-list-remove.vue?8bd8","webpack:///./src/components/modals/modal-list-remove.vue","webpack:///./src/components/modals/modal-list-settings.vue?8825","webpack:///./src/components/modals/modal-list-settings.vue?b073","webpack:///./src/components/modals/modal-list-settings.vue?b318","webpack:///./src/components/modals/modal-list-settings.vue","webpack:///./src/components/modals/modal-tip.vue?5c73","webpack:///./src/components/modals/modal-tip.vue?3812","webpack:///./src/components/modals/modal-tip.vue?16f3","webpack:///./src/components/modals/modal-tip.vue","webpack:///./src/components/footers/the-footer.vue?948d","webpack:///./src/components/footers/the-footer.vue?5ba4","webpack:///./src/components/footers/the-footer.vue?aca3","webpack:///./src/components/footers/the-footer.vue","webpack:///./src/components/general-components/the-login-prompt.vue?c2d6","webpack:///./src/components/forms/form-login-limited-access.vue?2fd7","webpack:///./src/components/forms/form-login-limited-access.vue?3144","webpack:///./src/components/forms/form-login-limited-access.vue?6635","webpack:///./src/components/forms/form-login-limited-access.vue","webpack:///./src/components/general-components/the-login-prompt.vue?ca3b","webpack:///./src/components/general-components/the-login-prompt.vue?b537","webpack:///./src/components/general-components/the-login-prompt.vue","webpack:///./src/views/layouts/layout.ts","webpack:///./src/views/layouts/layout.ts?00ce","webpack:///./src/views/layouts/layout.vue","webpack:///./src/util/component-import.ts","webpack:///./src/services/restapi/translation-service.ts","webpack:///./src/main.ts","webpack:///./src/components/cards/article-card.vue?3083","webpack:///./src/views/company/company-view.scss?b37b","webpack:///./src/views/error-404/error-404-view.scss","webpack:///./src/components/forms/form-change-password.vue?fdd8","webpack:///./src/styles.scss?7c72","webpack:///./src/components/containers/icon-bar.vue?e779","webpack:///./src/components/company-list-components/table-company-list.vue?5c1b","webpack:///./src/views/procurement-view/procurement-view.scss?07c3","webpack:///./src/views/change-password/change-password-view.scss?c4e1","webpack:///./src/views/layouts/layout.scss?37a9","webpack:///./src/components/dashboard-components/lists-overview.vue?b3a2"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","code","keys","RouterNames","languages","languageId","JSON","parse","localStorage","getItem","find","language","findDomain","getCookie","nameEQ","ca","cookie","split","charAt","substring","indexOf","setCookie","hours","expires","date","Date","setTime","getTime","toUTCString","deleteCookie","cookieUtils","SUCCESS","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","INVALID_TOKEN","INTERNAL_SERVER_ERROR","ACCESS_RUN_OUT","NOT_CORRECT_SESSION","SESSION_NULL","is2xx","responseCode","config","formatUrl","url","getToken","setToken","token","axiosInstance","response","post","body","put","delete","getResponse","status","success","this","a","interceptors","use","param","headers","Authorization","params","domainId","onSuccefullResponse","onFailureResponse","constructor","method","statusText","vmx","session","loginOut","INVALID_SESSION","panic","baseURL","apiConfig","returnRejectedPromiseOnError","withCredentials","common","Pragma","Accept","Origin","paramsSerializer","indices","api","getAgents","getAgentById","postAgent","agent","putAgent","deleteAgent","search","index","limit","orderBy","searchCount","maxDaysOld","agentStatistics","agentService","namespaced","strict","preserve","promiseFunc","setter","reset","then","agentsData","agentsPromise","sort","agent1","agent2","agents","setAgents","trim","updatedAgent","clearAgent","a1","a2","localeCompare","trueAgent","setAgent","Quarter","getBlacklists","createBlacklist","blacklist","editBlacklist","deleteBlacklist","getAllProcurementsAndProjects","cleanupBlacklist","cleanForAll","blacklistService","getUpdateById","getUpdatesByProjectId","projectId","getUpdatesByProcurementId","procurementId","getActivityLogsFromListId","listId","updateService","globalFunctions","isProcurement","procurementPhase","isProcurementOrProcurementReference","isProcurementAndNotProcurementReference","procurementPhaseRecords","ms","buildingDateFromString","str","quarter","splittedString","FIRST_QUARTER","SECOND_QUARTER","THIRD_QUARTER","FOURTH_QUARTER","year","parseInt","findLastUpdate","updates","u","created","reverse","toString","isOfInterfaceType","propertyNames","propertyName","getPaywallModalId","createActivityLogFromItem","item","blacklistsData","blacklistsPromise","blacklists","filter","usersIds","some","user","dataObject","userId","newBlacklist","setBlacklists","blacklistId","searchItemList","fetchBlacklists","every","f","blacklist0","getCompanyLists","createCompanyList","companyList","updateCompanyList","deleteCompanyList","getCompanyListItems","companyListService","companyListsData","companyListPromise","companyLists","company","list","companies","com","listCom","hasCompanyAccess","newCompanyList","getCountries","countryService","countriesData","countryPromise","countries","setCountries","sortCriteriaByName","criteria","sortCriteria","sortCriteriaTreeByName","sortCriteriaTree","c1","c2","criterium","children","criterion","criteriaUtils","getCriterionTypes","criterionService","criterionTypesData","criterionTypesPromise","criterionTypes","x","searchable","tailored","criterionType","translation","translationProperty","ct","highlightedProcurement","highlightedProject","forEach","setCriterionTypes","fileDomain","backupImageFormat","endsWith","includes","file","link","fromFile","extension","messages","da","en","sv","numberFormats","currency","style","maximumFractionDigits","locale","iso6391","fallbackLocale","i18n","setItem","stringify","mail","limitedAccessService","limitedAccessData","limitedAccessPromise","loadinglimitedAccessData","getLimitedAccessToken","getLimitedAccess","info","resend","auth","fetchLimitedAccess","ModalIds","getLists","findRelevantArticles","postList","putList","deleteList","getListItems","setListSeen","listService","listsData","listsPromise","lists","procurements","projects","isProject","projecId","newList","agentData","blacklistObjectData","companyListData","companyData","listData","listObjectData","tipData","openModal","AGENT_DELETE_MODAL","AGENT_REPLACE_MODAL","AGENT_SETTINGS_MODAL","blacklistObject","BLACKLIST_SETTINGS_MODAL","BLACKLIST_REMOVE_MODAL","COMPANY_LIST_ADD_MODAL","COMPANY_LIST_REMOVE_MODAL","payload","COMPANY_LIST_SETTINGS_MODAL","listObject","LIST_ADD_MODAL","LIST_REMOVE_MODAL","LIST_SETTINGS_MODAL","tip","TIP_MODAL","PAYWALL_MODAL","modalId","element","getElementById","modal","show","getProcurementPhases","getProcurementPhaseById","procurementPhaseService","procurementPhasesData","procurementPhasesPromise","procurementPhases","setProcurementPhases","getProcurementTypes","getProcurementTypeById","procurementTypeService","procurementTypesData","procurementTypesPromise","procurementTypes","getProjectPhases","getProjectPhaseById","projectPhaseService","projectPhasesData","projectPhasesPromise","projectPhases","setProjectPhases","getRoles","getRoleById","projectRoleService","rolesData","rolesPromise","roles","setRoles","MailTime","OrderByOptions","getCompanyById","getCompanyLogosByDomain","getItemsForCompany","onlyProjects","searchCompanies","companyAgent","searchCompanyCount","companyService","companyAgentData","initialCompanyAgent","debouncer","indexData","limitData","SearchCompanyStore","LIMIT","countData","resultData","resultPromise","orderByData","orderByDescData","freeSearch","countryIds","mailTime","Daily","paUserIds","setCompanyAgent","newLimit","orderByQuery","UPDATED","isSearchEmpty","orderByDesc","newData","concat","count","FreeSearchTypes","SearchItemTypes","getStorage","storeAgent","setStorage","clearStorage","clear","removeStorage","removeItem","searchItemPageData","searchItemPagePromise","searchItemNextPagePromise","pageData","isAgent","freeSearchType","NORMAL","getInitialAgent","agentKeys","initialAgentKeys","SearchStore","orderByOptions","bestMatch","typeId","args","page","loadNextPage","orderByQuary","isCorrectForm","values","searchItemPageResults","results","filterSearchItemList","PROJECT","minBudget","maxBudget","minSizeBuilding","minSizeGround","minSizeMetres","maxSizeBuilding","maxSizeGround","maxSizeMetres","minNumberOfUnits","maxNumberOfUnits","projectStart","projectEnd","isPublic","allowUnusedCriterionTypes","allowUnspecifiedSize","allowUnspecifiedBudget","allowUnspecifiedStartAndEnd","product","basic","newResultsDaily","newResultsMonthly","checkOther","agentCopy","networkDebounce","race","budget","updated","published","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","domProps","ref","attrs","staticRenderFns","title","text","_e","height","bookDemoUrl","domain","$vmx","calendlyBookdemo","calendlyCustomer","default","component","contactContainer","scrollIntoView","components","FormBookDemo","activateToken","passwordSaved","isLoggedIn","backgroundColor","scopedSlots","_u","fn","submit","proxy","model","callback","$$v","password1","expression","isValidSecondPassword","password2","class","formStyleClasses","on","$event","preventDefault","stopPropagation","submitEvent","arguments","_t","submitButtonText","background","needsValidation","paddingX","paddingY","textColor","styleClasses","wasValidated","inputForm","classList","add","remove","checkValidity","$emit","showForgotPassword","sendResetEmail","email","alertType","alertMessage","login","centerHeader","bodyText","unauthorized","loginDetails","$set","putUser","updateEmail","newEmail","sendResetPasswordEmail","sendChangePasswordEmail","changePassword","newPassword","resetToken","activateUser","loginToken","sendRequestSubscription","phone","sendChangeSubscription","newSubscription","sendCancelSubscription","sendBookDemo","companyName","getUsersInCompany","userService","username","password","rememberMe","showError","mailSent","mailError","isValid","inputName","validate","inputPassword","formIsValid","loginIn","redirect","$router","inputEmail","LOGGED_IN_DASHBOARD","AbstractForm","savingError","inputPasswordAgain","val","abstractForm","setValidated","newUser","catch","reason","required","FormLogin","_l","navlocation","active","location","routeName","routeHelp","viewDefaultLogin","changeToLogin","logoClasses","getLogo","loggedIn","black","logo","Boolean","getDomains","isActive","onClick","getDomainSVG","tld","nativeCountryName","domains","domain1","domain2","backgroundImage","backgroundSize","backgroundRepeat","host","sld","root","bsAutoClose","toUpperCase","routeUserSettings","logout","LOGGED_IN_USER_SETTINGS","canBeClosed","DropdownProfileContent","$tc","views","limitedAccess","showLogin","currentRoute","LOGGED_IN_HELP","navbarLocations","LOGGED_IN_BLACKLIST_VIEW","LOGGED_IN_SEARCH","LOGGED_IN_COMPANY_SEARCH","beforeEach","to","from","next","isLoggedInLimitedAccess","$route","LOGGED_IN_PROJECT_VIEW","DropdownProfileLimitedContent","BaseLogo","DropdownProfile","DropdownDomain","fileName","FormChangePassword","TheHeader","emptyListText","onFilterText","onOrderBy","onListView","itemResults","filterFunc","blacklistRemoved","allResults","addToLimit","cleanupModalId","isItemInBlacklists","blacklits","fade","bsBackdrop","modalClasses","gutter","showHeader","headerBgColor","bodyBgColor","bodyTextColor","size","centered","scrollable","listItem","getPhase","highlightedCriterionTypes","getCriteriaNamesOfType","join","formatPrice","nextDeadline","noteId","notes","selectedNote","lastUpdated","noteSaved","openDeleteNoteModal","noteDeleted","dateUtils","isDateStringAfter","date1","date2","isAfter","isFormattedDateStringAfter","format","findNextDate","dates","now","closest","isBefore","iconSize","variant","label","hasProduct","createNote","note","downloadName","mailHeader","editNote","openDeleteModal","createdBy","collapsed","excessNotes","isBasicProduct","getOutlookCalenderEventLink","paywallModalId","_m","getOfficeCalenderEventLink","getGoogleCalendarEventLink","getICS","fromDate","toDate","href","mailBody","encodeURIComponent","shortMailDetails","mailDetails","cal","createEvent","start","end","summary","description","toURL","formatDate","formatTextToHtml","replace","replaceAll","formatUtils","hasMore","editModalId","openPaywallModal","deleteModalId","DropdownMailExport","NoteList","containerClasses","openBlacklistRemoveModal","openBlacklistSettingsModal","exportlink","mailToString","copyToClipboard","linkCopied","isOnList","listButtonTooltip","openListAddModal","fixedHeight","listsWithObject","isInList","isOnUserBlacklist","subject","encodeURI","getUrl","open","baseUrl","navigator","clipboard","writeText","LanguageIds","submitting","getNotesForProject","getNotesForProcurement","updateNote","deleteNote","noteService","loading","setEventListeners","modalElement","addEventListener","initializeModal","clickBackdrop","hideModal","getInstance","hide","BaseModalContainer","buttonRowClasses","validateNote","users","addEventListeners","initialNote","colleagues","companyId","noteText","newNote","isScrollable","scrollSize","dailyUpdates","update","updateClasses","getLink","currentTarget","blurred","convertUpdates","set","day","daysSince","diff","updatesByDay","findIndex","getFullYear","getMonth","getDate","b","daily","amount","LOGGED_IN_PROCUREMENT_VIEW","hash","scrollId","updatesData","offersTo","materialTo","inquiryTo","participationTo","lastUpdateDate","projectPhase","commonId","price","formattedPrice","$n","numberFormat","danish","obj","DropdownNotes","IconBar","ModalNoteEdit","ModalNoteDelete","UpdateList","showAtSize","routeToViewPage","isChild","isLastChild","imageFromFile","coverImage","minWidthAtSize","isShared","isBlacklistedSharedPred","tableSize","getSearchItem","phase","getCriteriaStringsOfType","firstCriteriaText","criterionString","deadline","loadUpdates","iconName","showBadge","hasAccess","buttonClick","fetching","itemId","allowClick","resizeHandler","tableContainer","clientWidth","items","searchItems","searchItem","searchItemIndex","createObjectFromProcurement","createObjectFromProcurementReference","createObjectFromProject","hideRelatedProcurements","procurement","childIndex","userBlacklists","criterionData","colorSharedBlacklist","minSize","project","_showDetails","procurementReference","itemsMatch","proc","isNextDeadline","span","innerHTML","innerText","substr","date3","date4","formatText","maxChars","DropdownIconBar","DropdownUpdates","filterText","onShowBlacklistsed","sortingOptions","v","returnOrderBy","viewType","disabled","option","searchOptions","searchSelect","dropdownSelected","directives","rawName","modifiers","arg","borderBottom","placeholder","composing","$forceUpdate","emitSubmit","selected","isRemoved","isBlacklisted","removeUserFromBlacklist","routerLink","hasProcurements","cardPadding","toLocaleString","sanitizedText","showProcurements","relatedProcurementText","pushBlacklist","hideProcurements","SearchItemsListView","orderByDescending","listView","resultsForList","resultsForCard","compareLatestUpdate","listViewDefault","sortName","sortMethod","DropdownOrderBy","ListItemCard","SearchItemCard","SearchInput","blacklistedItems","showMoreLimit","cleanupError","resetBlacklistPage","toLowerCase","resultcopy","resetPage","SmallListLayout","openCompanyListSettingsModal","filteredCompanies","colClassesName","colClassesVatin","colClassesAddress","colClassesPhone","colClassesMail","rowClasses","companyRoleCount","isOnCompanyList","openCompanyListAddModal","cvr","address","isExpanded","projectLimit","collapseCompany","sortOptions","order","getImageFromFile","getRolesForItem","role","index2","itemsToShow","sortedItems","comparatorDate","comparatorItemName","comparatorPhase","comparatorRoleName","errorCode","tableOptions","lg","md","sm","loadItemsInCompany","headerColor","headerText","sortedAndFiltered","item1","item2","phaseId1","phaseId2","role1","companyRoles","roleString","role2","companyRole","added","newRole","cr1","cr2","finally","unfoldedLists","xxl","xl","companyIndex","collapse","isInCompanyList","maxSize","roleCount","LOGGED_IN_COMPANY_VIEW","CompanyProjectsList","fetchCompanyLists","updateCompanies","companyListById","openCompayListSettingsModal","Error401","TableCompanyList","hasSomeBasicInfo","contact","openContactModal","position","openTipModal","getContactPersonById","getContactsForCompany","respose","contactPersonService","contacts","contactError","selectedContact","loadCompany","loadContacts","$nextTick","contactId","paUserId","createAgentClick","relevantArticles","article","getDraggableClasses","limitedAgents","lineClasses","searchWithAgent","getStatistics","monthlyCount","dailyCount","openAgentSettingsModal","showAll","openAgentDeleteModal","selectedUsers","setUsers","agentName","pushAgent","newAgent","saveAgent","FormMailTime","statisticsData","statistics","agentId","stats","stat","AgentCountField","ModalAgentSettings","nativeOn","blockSlowClicks","articleClicked","hostName","getFromFile","Math","round","imageContainer","hostDomain","limitedCompanyLists","openCompanyListPage","LOGGED_IN_COMPANY_LIST_VIEW","noLeftShadow","paddleClicked","sliderDown","dragging","addSliderEventListeners","displayPaddles","slider","scrollLeft","offsetY","clientHeight","startX","pageX","offsetLeft","toggleDragging","walk","isDragging","grab","hiddenScrollbar","isLeft","scrollX","scroll","left","behavior","leftPaddle","contains","scrollEnd","scrollWidth","rightPaddle","limitedLists","openListPage","getBudgetString","budgetSum","openListSettingsModal","loadActivities","activityLog","styleClass","width","borderSize","color","String","activityLogs","BaseLoadingSpinner","PRINT_PROJECT","lastSeen","LOGGED_IN_LIST_VIEW","log","DropdownActivitylog","criterionTypeData","routeProjectView","RELATED_ARTICLES_AMOUNT","smallWindow","$root","articles","y","innerWidth","agentsLoaded","companyListsLoaded","listsLoaded","articleDraggable","AgentsOverview","ArticleCard","CompanyListsOverview","HorizontalDraggable","ListsOverview","ProjectReferenceCard","Error404","openNotificationSidebar","notifications","showSidebar","getNotifications","isSeen","setAllSeen","notificationService","overlayClickable","notification","fold","selectedIndex","savingUser","showNotifications","notificationsSeen","routerParams","styleClassObj","badgeClasses","badgeText","withSpinner","isClicked","dropdownClasses","bsToggle","bsTarget","bsDismiss","dropdown","isDropup","dropup","badgeColor","sameColor","onClickCb","sidebarClasses","overlayClicked","toggleSidebar","showPopups","updateOnClick","BaseButton","BaseSidebar","tabs","tab","currentTab","iconType","icon","pages","setCurrentPage","isCurrentPage","getHelpdeskTabs","helpdeskService","part","refInFor","routeParams","uid","toolTipText","setTooltip","popperElement","placement","tooltipPlacement","trigger","buttonId","rounded","$refs","play","BaseButtonIcon","tabsData","query","UserGuideRow","NotificationSidebar","UserGuide","adminUsername","adminPassword","failedLogin","inputUsername","impersonate","FormImpersonate","listItems","onPersistBlacklist","toggleShowBlacklist","listItemsResult","showBlacklists","sortedList","filterTextData","orderByDecendingData","sortingMethod","blacklistItem","showAllBlacklisted","fetchLists","userIsOnList","updateListItems","listById","ListOverview","isLoading","noteData","hasDateData","hasInformationData","datas","record","getIconOrder","getWinnersItems","getWinnerFields","field","contactPerson","noContactResponse","createdDate","filterdata","$slots","defaultText","headerClass","bodyClass","getProcurementById","procurementService","getProjectById","getNewestProjects","projectService","registerHooks","onafterprint","go","fetchData","print","Number","getDateData","startEndLabel","startEndData","participationData","offerData","materialData","inquiryData","startEnd","formatInfo","formatDates","participationFrom","participationAddress","participationNote","participationLink","offersFrom","offersAddress","offersNote","offersLink","materialFrom","materialAddress","materialLink","inquiryFrom","inquiryAddress","inquiryLink","informationData","information","procurementTypeData","standardCriterionTypes","getCriterionDataForType","estimatedSumData","procurementType","reduce","acc","isWinner","PrintSection","PrintRow","PrintNote","picture","onLoad","loadedImages","numberOfImages","files","image","printIfImageLoaded","lastUpdateDateData","publishedData","budgetData","projectPhaseRecords","pictures","newpicture","pop","bla","AnnouncementTypes","inProgress","isAboveBasicProduct","windowSize","getHashColor","summaryCollapsed","toggleSummary","budgetString","getCriteriaOfTypeString","winners","winner","companyRoleString","selectRole","routeToCompanyView","toggleWinners","winnersCollapsed","descriptionCollapsed","toggleDescription","procurementUpdates","filteredAnnouncements","announcement","selectAnnouncement","formatAnnouncementChanges","changes","setHash","liable","euNr","announcementModalId","selectedAnnouncement","roleModalId","selectedCompanyRole","tipSent","addSentTip","computedLink","procurementName","textPrefix","daterowdata","modalDialogClasses","AbstractModal","roleName","sendTip","getNoteFormatted","getTipById","postTip","companyRoleHasTip","companyRoleId","tipService","tipAlreadySent","alreadySent","unspecified","objTrans","objectId","objectName","getCircleClasses","getSvgClasses","getFontClasses","isNotLast","getLineClasses","currentPhase","phaseRecords","isCurrentPhase","beforeCurrent","isBeforeCurrent","isCurrent","ModalPaywall","sentTips","tipHasBeenSent","showSummaryFoldingButton","showDescriptionFoldingButton","currentHash","scrollTo","formatSummary","proj","initSetup","ERROR_NOT_FOUND","renderContent","printOnLoad","offsetHeight","scrollHeight","filteredCompanyRoles","RESULT","CANCELLATION","hasInquiries","hasMaterial","hasParticipation","hasOffers","childConcat","concatCriterionName","getCriteriaOfType","ContainerDateRow","ModalAnnouncementInfo","ModalRoleInfo","PhaseTimeline","criteriaOfType","projectStartEndString","buildingArea","numberOfUnits","floors","fullAddress","summaryLink","summaryMunicipality","summaryCommittee","summaryNumber","summaryDate","getShortNote","selectedRole","imagesFromFiles","relatedProjects","relatedProject","carouselId","selectImage","source","selectedImage","carouselInner","firstElementChild","carousel","images","Array","_","imagesShown","validator","articleClickable","loadProject","reFetchLimitedAccess","LOGGED_IN_ACCESS_EXPIRED","empty","postalCode","city","related","parentProject","childrenProjects","newId","ImageCarousel","canReset","searchCompany","resetCompanyAgent","disableRoleFunc","invisible","isFolded","click","textClass","contentClass","foldedVal","folded","countryItem","isSelected","countryClicked","country","allCountries","onlyDomainCountries","countryId","countryMap","ids","newCountryIds","cid","Set","BaseFoldMenu","yPadding","isDisabled","isChecked","countRecord","getCriteriaCount","criterias","child","criteria0","subs","findChildren","sub","check","checkCriteria","flatMap","CriteriaTree","updateCompanyAgent","allowedItemTypes","COMPANY","CountrySelector","fillCompanyLists","setLimit","setOrderBy","tableCompanyList","CompanyCriteriaMenu","TableCompanyListsAll","dropdownOptions","dropdownSelect","canResetAgent","openAgentReplaceModal","onUpdateAgent","searchItemPage","totalResults","pageCount","pageNumber","projectPhaseCount","isProjectPhaseDisabled","procurementPhaseCount","getAgentCriteriaOfType","updateCriteria","getAllowUnspecifiedType","updateAllowUnspecifiedType","procurementTypeCount","BUDGET_MIN","BUDGET_MAX","BUILDING_MIN","BUILDING_MAX","sizeBuilding","GROUND_MIN","GROUND_MAX","sizeGround","UNITS_MIN","UNITS_MAX","publicPrivateCount","true","false","criteriasCount","header","index0","onClickBullet","clearCriteria","A_MILLION","selectedFilters","estimatedSum","sizeMetres","projectStartEnd","item0","PROCUREMENT","yearOptions","newYear","setYear","getQuarters","quartersOptions","quaters","setQuarters","addNewYear","getShowExtra","showExtra","buttonStyleClasses","ulClass","setOption","oldYear","val0","currentYear","years","year0","quarters","BaseDropdown","_obj","min","max","onSliderDragEnd","range","onKeydown","minInputValue","maxInputValue","INPUT_TIMEOUT","rangeValue","dbounseTimer","maxInput","focus","onInputChange","minInput","criteriaCountRecord","getCriterionCount","checkedCriteria","updateCriteriaTre","criterionCount","newCheckedCriteria","criterion0","CriterionTree","METRES_MIN","METRES_MAX","allowedProjectPhases","pp","agentCriteria","checked","allowed","criterionTypeFromTranslation","AgentCriteriaFilter","AgentCriteriaRange","AgentCriteriaQuarterSelector","BaseDropDown","chosenAgent","openSettingsModal","emitPageChange","underlineIfCurrentPage","newPage","number","isListView","setPage","repeat","filteredCriteria","filteredRoles","setOrderByDesc","isNaN","savedAgent","updateCriteriaForType","updateAgent","AgentCriteriaMenu","ModalAgentReplace","PageNavigationBar","setNumber","initialMail","committed","mailChanged","inputPhone","isNumbersAndLetters","isBetween1And255Characters","isOnlyLetters","reg","RegExp","test","time","isSameOrAfter","isSameOrBefore","formValidator","initialEmail","showEmailSent","showEmailSentError","showCancelSent","showChangeSent","submitPressed","retries","validName","validPhone","validMail","validPosition","validateEmail","validatePhoneNumber","validateLetterString","FormUserSettings","routes","path","meta","requireLogin","props","route","autoscroll","LOGGED_OUT_CHANGE_PASSWORD","LOGGED_OUT_ACTIVATE","LOGGED_OUT_IMPERSONATE_USER","PRINT_PROCUREMENT","hideHeaderFooter","router","scrollBehavior","savedPosition","selector","querySelectorAll","afterEach","nextTick","sessionCookie","isLoggedinUser","updateLanguage","fetchVersionCheck","isCurrenVersion","alert","fetchUser","fetchLoginData","pushVersionCheck","assign","msg","clearUser","stop","reload","fetchColleagues","fetchAgents","fetchCountries","fetchCriterionTypes","fetchProcurementPhases","fetchProjectPhases","fetchProcurementTypes","fetchRoles","fetchSearchItemPage","version","currentVersion","localVersion","jwt","isValidToken","authService","userData","userPromise","colleaguesData","colleaguesPromise","loadingUserData","colleague","companyEnabled","getUser","setUser","updatedUser","setColleagues","store","Store","hostname","URL","searchParams","leftSideClasses","rightSideClasses","fullHeight","headerClasses","bodyClasses","headerTextColor","noPadding","headerPaddingX","showBody","bodyStyleClasses","isArray","_i","$$a","$$el","$$c","$$i","el","inputGroupTextBefore","inputField","inputGroupTextAfter","invalidText","isNumeric","notNull","includesNumber","includesSpecialCharacter","stringUtils","liveValidate","setValidClass","validateNumber","validatePassword","validateText","isValidCb","input","skipNormalValidation","radioValue","_q","buttonPaddingY","buttonPaddingX","labelClass","clicked","multiSelect","options","rows","textArea","preferredCountries","domainCountry","inputOptions","phoneInput","isValidated","valid","callingCode","startsWith","inputStyleClasses","showDialCode","phoneOutput","nationalNumber","countryCallingCode","formatted","countryObject","dialcode","VueTelInput","computedTitle","bordered","ulClassList","tag","tagColor","displayProp","removeOption","computedPlaceholder","_k","keyCode","addSearchOption","searchText","showDropdown","matchingOptions","dropdownClassList","staticStyle","dropdownItemClassList","hoverIndex","addOption","selectAll","computedChooseAllLabel","removeAll","computedClearLabel","inputFocus","dropdownFocus","chooseAllLabel","clearLabel","tags","isUserOnBlacklist","persistBlacklist","checkLoaded","initLoading","blacklistFromStore","colleage","createNewBlacklist","blCopy","openCompanyListRemoveModal","chosenCompanyList","originalCompanyLists","loadingError","listsWithCompany","companyListsWithCompany","companyListsToUpdate","removedLists","companyListToUpdate","putCompanyList","selectedContainsCompanyList","createCompanyListName","addCompanyList","removeCompanyList","selectedCompanyLists","selectedCompanyList","refetchCompanyLists","nameValidator","companyListCopy","companyListName","getOriginalCompanyLists","createNewList","postCompanyList","openListRemoveModal","chosenList","originalLists","hasList","listsToUpdate","projId","listToUpdate","listsWithDataObject","selectedContainsList","createListName","addList","removeList","removeFromLists","selectedLists","selectedList","procId","listCopy","listName","getOriginalLists","addedList","tipCopy","tipDescription","cb","nativeName","language1","language2","colClasses","codeFormState","nameIsValid","mailIsValid","formSize","textSizeClass","spinnerOn","keyup","mailClick","errorMessage","codeLiveValidate","returnCode","keyEvent","coderef","s1","s2","formContainer","match","BaseAlert","isProjectData","bookDemoContainer","FormLoginLimitedAccess","userLoggedIn","limitedAccessLoggedIn","isLimitedAccessLoggedIn","TheLoginPrompt","TheFooter","ModalAgentDelete","ModalBlacklistRemove","ModalBlacklistSettings","ModalCompanyListAdd","ModalCompanyListRemove","ModalCompanyListSettings","ModalListAdd","ModalListRemove","ModalListSettings","ModalTip","getTranslations","translationService","productionTip","gtmCode","gtm","splash","personId","defer","enabled","debug","loadScript","vueRouter","trackOnNextTick","beforeCreate","html","documentElement","init","setLocaleMessage","render","h","$mount"],"mappings":"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QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,UCjKA,GAAS,WAAa,IAAI/D,EAAIhY,KAASiY,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkBM,MAAM,CAAC,GAAK,QAAQ,CAACR,EAAG,WAAW,IACvK,GAAkB,GCAlB1f,I,UAAS,IAMT,GAAY,gBACdA,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,+CClBX,GAAS,WAAa,IAAIuf,EAAIhY,KAASiY,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACyC,MAAM5C,EAAI+sC,kBAAkB5sC,EAAG,MAAM,CAACyC,MAAM5C,EAAIgtC,iBAAiBrsC,MAAM,CAAC,KAAO,UAAU,CAACX,EAAIoD,GAAG,WAAU,WAAW,MAAO,CAACpD,EAAIM,GAAG,cAAa,MACtS,GAAkB,GCeD,GAArB,+KAIE,WACE,MAAO,CACL,YADK,aAECtY,KAAKvG,SAPjB,4BAWE,WACE,MAAO,CACL,aACA,cACA,QAHK,gBAIIuG,KAAKvG,MACduG,KAAKyb,SAAL,aAAsBzb,KAAKyb,UAAa,QAjB9C,GAAuC,SACP,gBAA7B,gBAAK,CAAEnC,QAAS,a,4BACT,gBAAP,mB,gCAFkB,GAAS,gBAD7B,SACoB,cChBkY,MCQnZ,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX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","file":"js/app.ca201ac3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0e4c11\":\"6087d800\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./project-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-domain.vue?vue&type=style&index=0&id=4be50c41&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-input.vue?vue&type=style&index=0&id=7908113f&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-items-list-view.vue?vue&type=style&index=0&id=30845095&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/no.3613a4bd.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-quarter-selector.vue?vue&type=style&index=0&id=20b4fb79&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./list-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./access-expired-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-carousel.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agents-overview.vue?vue&type=style&index=0&id=4ba81008&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-container.vue?vue&type=style&index=0&id=0717bebe&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button.vue?vue&type=style&index=0&id=0f93cd8a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-alert.vue?vue&type=style&index=0&id=7c7fbe42&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./impersonate-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-logo.vue?vue&type=style&index=0&id=e00700d2&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-notes.vue?vue&type=style&index=0&id=4bb7f5a3&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button-icon.vue?vue&type=style&index=0&id=392c2f18&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./user-settings-view.scss?vue&type=style&index=0&id=b0e78d2a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./search-company-view.scss?vue&type=style&index=0&id=1fb6b63a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./help-view.scss?vue&type=style&index=0&lang=scss&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./invalid-session-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./phase-timeline.vue?vue&type=style&index=0&id=50fd8dc6&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-paywall.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-lists-overview.vue?vue&type=style&index=0&id=5aa02b56&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/dk.cb6e55df.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./dashboard-view.scss?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/se.9cfb98c6.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./print-project-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./update-list.vue?vue&type=style&index=0&id=106e7591&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-item-card.vue?vue&type=style&index=0&id=0a036007&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-tags.vue?vue&type=style&index=0&id=42488cee&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./blacklist-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-filter.vue?vue&type=style&index=0&id=2d644500&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-select.vue?vue&type=style&index=0&id=3b0e0132&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-login-limited-access.vue?vue&type=style&index=0&id=16c14e7b&style=true&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-limited-content.vue?vue&type=style&index=0&id=406bab14&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./activate-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-login-prompt.vue?vue&type=style&index=0&id=b800d004&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./horizontal-draggable.vue?vue&type=style&index=0&id=1dd3c479&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-dropdown.vue?vue&type=style&index=0&id=5d3435bf&scoped=true&lang=scss&\"","var map = {\n\t\"./dk.svg\": \"587e\",\n\t\"./no.svg\": \"13ac\",\n\t\"./se.svg\": \"6018\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"8e83\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./search-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page-navigation-bar.vue?vue&type=style&index=0&id=022a179b&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-count-field.vue?vue&type=style&index=0&id=19bc9d58&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-footer.vue?vue&type=style&index=0&id=317fbd73&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./company-list-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile.vue?vue&type=style&index=0&id=962b985c&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-header.vue?vue&type=style&index=0&id=be81696a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-sidebar.vue?vue&type=style&index=0&id=076c9762&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-projects-list.vue?vue&type=style&index=0&id=59aa9d9a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./print-procurement-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-menu.vue?vue&type=style&index=0&id=477fdf61&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-overview.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-icon-bar.vue?vue&type=style&index=0&id=ade70480&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-item-card.vue?vue&type=style&index=0&id=55940704&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-content.vue?vue&type=style&index=0&id=7ae392ba&scoped=true&lang=scss&\"","export enum RouterNames {\r\n LOGGED_IN_DASHBOARD = 'Dashboard',\r\n LOGGED_IN_SEARCH = 'Search',\r\n LOGGED_IN_PROJECT_VIEW = 'Project View',\r\n LOGGED_IN_PROCUREMENT_VIEW = 'Procurement View',\r\n LOGGED_IN_BLACKLIST_VIEW = 'Blacklist View',\r\n LOGGED_IN_USER_SETTINGS = 'User Settings',\r\n LOGGED_IN_LIST_VIEW = 'List View',\r\n LOGGED_IN_COMPANY_SEARCH = 'Company Search',\r\n LOGGED_IN_COMPANY_VIEW = 'Company View',\r\n LOGGED_IN_COMPANY_LIST_VIEW = 'Company List View',\r\n LOGGED_IN_ACCESS_EXPIRED = 'Access Expired',\r\n LOGGED_OUT_CHANGE_PASSWORD = 'Change Password',\r\n LOGGED_OUT_ACTIVATE = 'Activate',\r\n INVALID_SESSION = 'Invalid Session',\r\n LOGGED_OUT_IMPERSONATE_USER = 'Impersonate User',\r\n PRINT_PROCUREMENT = 'PrintProcurement',\r\n PRINT_PROJECT = 'PrintProject',\r\n LOGGED_IN_HELP = 'Help',\r\n ERROR_NOT_FOUND = '404',\r\n\r\n // LOGGED_OUT_ABOUT = 'About',\r\n // LOGGED_OUT_BOOK_DEMO = 'Book Demo',\r\n // LOGGED_OUT_CONTACT = 'Contact',\r\n // LOGGED_OUT_COOKIE_POLICY = 'Cookie Policy',\r\n // LOGGED_OUT_HOME = 'Home',\r\n // LOGGED_OUT_JURA = 'Jura',\r\n // LOGGED_OUT_PRICES = 'Prices',\r\n // LOGGED_OUT_SERVICES = 'Services',\r\n // LOGGED_OUT_UPDATE_EMAIL = 'Update Email',\r\n}\r\n","import { findDomain } from './domain-utils';\r\nimport { Language } from '@/interfaces/language';\r\nimport languagesJSON from '../../resources/languages/languages.json';\r\n\r\nexport const languages: Language[] = languagesJSON;\r\n\r\nexport const getLanguageId: () => Language = () => {\r\n try {\r\n const languages: Language[] = languagesJSON;\r\n const languageId = JSON.parse(localStorage.getItem('languageId')) as Language;\r\n if (languageId?.id == null) {\r\n languages.find(language => language.id === findDomain().languageId.id)\r\n return findDomain().languageId;\r\n }\r\n return languageId;\r\n } catch (err) {\r\n return findDomain().languageId;\r\n }\r\n};\r\n","export class CookieUtils {\r\n constructor() {}\r\n\r\n public getCookie = (name: string): string => {\r\n const nameEQ = name + '=';\r\n const ca = document.cookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1, c.length);\r\n }\r\n if (c.indexOf(nameEQ) == 0) {\r\n return c.substring(nameEQ.length, c.length);\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n public setCookie = (name: string, value: string, hours: number) => {\r\n let expires = '';\r\n if (hours) {\r\n const date = new Date();\r\n date.setTime(date.getTime() + hours * 60 * 60 * 1000);\r\n expires = ';expires=' + date.toUTCString();\r\n }\r\n document.cookie = `${name}=${value ? value : ''}${expires};path=/`;\r\n };\r\n\r\n public deleteCookie = (name: string) => {\r\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;Path=/;';\r\n };\r\n}\r\n\r\nexport const cookieUtils = new CookieUtils();\r\n","export class ResponseCodes {\r\n\r\n public static readonly SUCCESS = 200;\r\n\r\n public static readonly BAD_REQUEST = 400;\r\n public static readonly UNAUTHORIZED = 401;\r\n public static readonly FORBIDDEN = 403;\r\n public static readonly NOT_FOUND = 404;\r\n public static readonly CONFLICT = 409;\r\n public static readonly INVALID_TOKEN = 498;\r\n\r\n public static readonly INTERNAL_SERVER_ERROR = 500;\r\n\r\n // Custom Responses\r\n public static readonly ACCESS_RUN_OUT = 480; // No more views\r\n public static readonly NOT_CORRECT_SESSION = 481; // Session does not match user session\r\n public static readonly SESSION_NULL = 482 // \"Session is null\"\r\n\r\n public static is2xx = (responseCode: number) => {\r\n return responseCode >= 200 && responseCode < 300;\r\n };\r\n}","import * as domainUtils from '@/util/domain-utils';\r\nimport * as languageUtils from '@/util/language-utils';\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\r\nimport { cookieUtils } from '@/util/cookie-utils';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { vmx } from '@/store';\r\n\r\n/**\r\n * Abstract class to extend when creating specific services.\r\n * @author Jais Christiansen\r\n */\r\n\r\nexport class AbstractService {\r\n private axiosInstance: AxiosInstance;\r\n // private token: string;\r\n private config: AxiosRequestConfig;\r\n\r\n constructor(config?: AxiosRequestConfig) {\r\n this.config = config;\r\n this.axiosInstance = axios.create(config);\r\n // this.token = cookieUtils.getCookie('session') ?? '';\r\n\r\n this.axiosInstance.interceptors.request.use((param) => ({\r\n ...param,\r\n headers: {\r\n Authorization: `Bearer ${this.getToken()}`,\r\n 'Content-Type': 'application/json',\r\n },\r\n params: {\r\n ...param.params,\r\n languageId: languageUtils.getLanguageId().id,\r\n domainId: domainUtils.domain.id,\r\n },\r\n }))\r\n\r\n const onSuccefullResponse: (response: AxiosResponse) => AxiosResponse = response => {\r\n return response;\r\n };\r\n\r\n const onFailureResponse: (error: AxiosError) => Promise = async error => {\r\n const response = error.response\r\n\r\n console.error(`!!! Service Error !!!\r\n Service: ${this.constructor.name}\r\n URL: ${response.config.url} (${response.config.method})\r\n Status: ${response.status}\r\n Status Text: ${response.statusText}\r\n Body: ${response.data.slice(0, 100)}`);\r\n\r\n if (error.response.status == ResponseCodes.NOT_CORRECT_SESSION) {\r\n await vmx.session.loginOut({ name: RouterNames.INVALID_SESSION });\r\n return;\r\n }\r\n\r\n if (error.response.status == ResponseCodes.SESSION_NULL) {\r\n await vmx.session.panic('You have been logged out by an administrator')\r\n return;\r\n }\r\n\r\n return error.response;\r\n }\r\n\r\n this.axiosInstance.interceptors.response.use(onSuccefullResponse, onFailureResponse);\r\n }\r\n\r\n private formatUrl = (url: string) => url;\r\n\r\n public getToken = () => {\r\n return cookieUtils.getCookie('session') ?? ''\r\n };\r\n\r\n public setToken = (token: string, hours: number) => {\r\n cookieUtils.setCookie('session', token, hours);\r\n };\r\n\r\n protected get = async (\r\n url: string,\r\n config?: AxiosRequestConfig,\r\n ): Promise> => {\r\n const response: AxiosResponse = await this.axiosInstance.get(this.formatUrl(url), config)\r\n return response;\r\n };\r\n\r\n protected post = async (\r\n url: string,\r\n body?: any,\r\n config?: AxiosRequestConfig,\r\n ): Promise> => {\r\n const response: AxiosResponse = await this.axiosInstance.post(url, body, config)\r\n return response;\r\n };\r\n\r\n protected put = async (\r\n url: string,\r\n body?: any,\r\n config?: AxiosRequestConfig,\r\n ): Promise> => {\r\n const response: AxiosResponse = await this.axiosInstance.put(url, body, config)\r\n return response;\r\n };\r\n\r\n protected delete = async (\r\n url: string,\r\n config?: AxiosRequestConfig,\r\n ): Promise> => {\r\n const response: AxiosResponse = await this.axiosInstance.delete(url, config)\r\n return response;\r\n };\r\n\r\n public getResponse = (response: AxiosResponse): T => {\r\n if (response != null) {\r\n if (ResponseCodes.is2xx(response.status)) {\r\n return this.success(response);\r\n }\r\n throw response.status;\r\n }\r\n throw 500;\r\n }\r\n\r\n public success = (response: AxiosResponse): T => {\r\n return response.data;\r\n };\r\n\r\n}\r\n","import * as qs from 'qs';\r\nimport { PathLike } from 'fs';\r\n\r\n/**\r\n * Config to use as parameter for Axios API instances (when using axios.create(config))\r\n * @author Jais Christiansen\r\n */\r\n\r\nconst baseURL =\r\n process.env.VUE_APP_API_URL && process.env.VUE_APP_API_PREFIX\r\n ? process.env.VUE_APP_API_URL + process.env.VUE_APP_API_PREFIX\r\n : 'http://localhost:8080/rest/restapi';\r\n\r\nexport const apiConfig = {\r\n returnRejectedPromiseOnError: true,\r\n withCredentials: true,\r\n timeout: 0,\r\n baseURL,\r\n headers: {\r\n common: {\r\n Authorization: '',\r\n 'Cache-Control': 'no-cache, no-store, must-revalidate',\r\n Pragma: 'no-cache',\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n Origin: process.env.BASE_URL,\r\n },\r\n },\r\n paramsSerializer: (params: PathLike) => qs.stringify(params, { indices: false }),\r\n};\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport { AgentStatistics } from '@/interfaces/agent-statistics';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport { SearchItemPage } from '@/interfaces/search-item-page';\r\n\r\nconst api = '/agents';\r\n\r\nexport class AgentService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getAgents = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getAgentById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public postAgent = async (agent: Agent): Promise => {\r\n const response = await this.post(api, agent);\r\n return this.getResponse(response);\r\n };\r\n\r\n public putAgent = async (agent: Agent): Promise => {\r\n const response = await this.put(api, agent);\r\n return this.getResponse(response);\r\n };\r\n\r\n public deleteAgent = async (id: number): Promise => {\r\n const response = await this.delete(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public search = async (\r\n agent: Agent,\r\n index: number,\r\n limit: number,\r\n orderBy: string,\r\n ): Promise => {\r\n const config = {\r\n params: orderBy\r\n ? { limit: limit, index: index, orderBy: orderBy }\r\n : { limit: limit, index: index },\r\n };\r\n const response = await this.post(api + '/search', agent, config);\r\n if (response != null && ResponseCodes.is2xx(response.status)) {\r\n return this.success(response);\r\n } else {\r\n throw response;\r\n }\r\n };\r\n\r\n public searchCount = async (agent: Agent, maxDaysOld?: number): Promise => {\r\n let response;\r\n if (maxDaysOld != null) {\r\n const config = {\r\n params: { maxDaysOld: maxDaysOld },\r\n };\r\n response = await this.post(`${api}/search/count`, agent, config);\r\n } else {\r\n response = await this.post(`${api}/search/count`, agent);\r\n }\r\n return this.getResponse(response);\r\n };\r\n\r\n public agentStatistics = async () : Promise => {\r\n const response = await this.get(`${api}/statistics`);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const agentService = new AgentService(apiConfig);\r\n","import { createModule as createModuleVuex } from 'vuex-class-component';\r\n\r\nexport const createModule = (namespaced: string) => {\r\n return class StoreModule extends createModuleVuex({ namespaced, strict: false }) {\r\n public get namespace(): string {\r\n return namespaced;\r\n }\r\n };\r\n};\r\n\r\nexport const preserve = async (\r\n promise: Promise,\r\n promiseFunc: () => Promise,\r\n setter: (val: T) => void,\r\n reset?: boolean,\r\n): Promise => {\r\n if (promise != null && !(reset ?? false)) {\r\n return promise;\r\n }\r\n promise = promiseFunc();\r\n promise.then(setter);\r\n return promise;\r\n};\r\n","import { action } from 'vuex-class-component';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport { agentService } from '@/services/restapi/agent-service';\r\nimport { createModule } from '../preloader';\r\nimport { vmx } from '..';\r\n\r\nexport default class AgentStore extends createModule('agent') {\r\n private agentsData = null as Agent[];\r\n private agentsPromise = null as Promise;\r\n\r\n get agents(): Agent[] {\r\n return this.agentsData?.sort((agent1, agent2) => agent1.id - agent2.id);\r\n }\r\n\r\n get agentsLoaded(): boolean {\r\n return this.agents != null;\r\n }\r\n\r\n @action\r\n async fetchAgents(): Promise {\r\n if (this.agentsData != null) {\r\n return this.agentsData;\r\n }\r\n\r\n if (this.agentsPromise != null) {\r\n return this.agentsPromise;\r\n }\r\n\r\n this.agentsPromise = agentService.getAgents();\r\n this.agentsPromise.then(this.setAgents);\r\n\r\n return this.agentsPromise;\r\n }\r\n\r\n @action\r\n async pushAgent(agent: Agent): Promise {\r\n agent.name = agent.name.trim();\r\n\r\n const updatedAgent =\r\n agent.id == null ? await agentService.postAgent(agent) : await agentService.putAgent(agent);\r\n\r\n this.agentsPromise = agentService.getAgents();\r\n this.agentsData = await this.agentsPromise;\r\n\r\n return updatedAgent;\r\n }\r\n\r\n @action\r\n async deleteAgent(agent: Agent): Promise {\r\n await agentService.deleteAgent(agent.id);\r\n\r\n if (vmx.search.agent.id == agent.id) {\r\n vmx.search.clearAgent();\r\n }\r\n\r\n await agentService.getAgents().then(this.setAgents);\r\n }\r\n\r\n @action\r\n async fetchAgentCount(agent: Agent, maxDaysOld?: number): Promise {\r\n return agentService.searchCount(agent, maxDaysOld);\r\n }\r\n\r\n @action\r\n private async setAgents(agents: Agent[]) {\r\n this.agentsData = agents.sort((a1, a2) => a1.name.localeCompare(a2.name));\r\n\r\n if (vmx.search.agent.id) {\r\n const trueAgent = this.agentsData.find((agent) => agent.id === vmx.search.agent.id);\r\n if (trueAgent) {\r\n vmx.search.setAgent(trueAgent);\r\n }\r\n }\r\n }\r\n}\r\n","export enum Quarter {\r\n FIRST_QUARTER = 'Q1',\r\n SECOND_QUARTER = 'Q2',\r\n THIRD_QUARTER = 'Q3',\r\n FOURTH_QUARTER = 'Q4',\r\n}\r\n","import { AxiosRequestConfig, AxiosResponse } from 'axios';\r\nimport { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\nconst api = '/blacklists';\r\n\r\nexport class BlacklistService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n // Get all blacklists for users member\r\n public getBlacklists = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public createBlacklist = async (blacklist: Blacklist): Promise => {\r\n const response = await this.post(api, blacklist);\r\n return this.getResponse(response);\r\n };\r\n\r\n // Add blacklist for user\r\n public editBlacklist = async (blacklist: Blacklist): Promise => {\r\n const response = await this.put(api, blacklist);\r\n return this.getResponse(response);\r\n };\r\n\r\n // Delete blacklist for user\r\n public deleteBlacklist = async (id: number): Promise => {\r\n const response = await this.delete(`${api}/remove/${id}`);\r\n return this.getResponse(response);\r\n };\r\n\r\n // Get all procurements and project on blacklist for user\r\n public getAllProcurementsAndProjects = async (): Promise<(Project | Procurement)[]> => {\r\n const response = await this.get<(Project | Procurement)[]>(api + '/pdata');\r\n return this.getResponse(response);\r\n };\r\n\r\n public cleanupBlacklist = async (cleanForAll: boolean): Promise => {\r\n let config = null;\r\n if (cleanForAll != null) {\r\n config = {\r\n params: {\r\n cleanForAll,\r\n },\r\n };\r\n }\r\n const response = await this.get(`${api}/cleanup-blacklist`, config);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const blacklistService = new BlacklistService(apiConfig);\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Update } from '@/interfaces/update';\r\n\r\nconst api = '/updates';\r\n\r\nexport class UpdateService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getUpdateById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getUpdatesByProjectId = async (projectId: number): Promise => {\r\n const response = await this.get(`${api}/byProjectId/${projectId}`);\r\n return this.getResponse(response);\r\n }\r\n\r\n public getUpdatesByProcurementId = async (procurementId: number): Promise => {\r\n const response = await this.get(`${api}/byProcurementId/${procurementId}`);\r\n return this.getResponse(response);\r\n }\r\n\r\n public getActivityLogsFromListId = async (listId: number): Promise => {\r\n const response = await this.get(`${api}/byListId/${listId}`);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const updateService = new UpdateService(apiConfig);\r\n","import { ActivityLog } from '@/interfaces/non-entities/activity-log';\r\nimport { BuildingDate } from '@/interfaces/building-date';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { Quarter } from '@/interfaces/quarter';\r\nimport { Update } from '@/interfaces/update';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\nexport const globalFunctions = {\r\n isProcurement(data: Procurement | Project): data is Procurement {\r\n return (data as Procurement).procurementPhase !== undefined;\r\n },\r\n\r\n isProcurementOrProcurementReference(\r\n data: ProcurementReference | Project | Procurement,\r\n ): data is ProcurementReference | Procurement {\r\n return (data as ProcurementReference).procurementPhase !== undefined;\r\n },\r\n\r\n isProcurementAndNotProcurementReference(\r\n data: ProcurementReference | Procurement,\r\n ): data is Procurement {\r\n return (data as Procurement).procurementPhaseRecords !== undefined;\r\n },\r\n\r\n timeout(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n },\r\n\r\n buildingDateFromString(str: string): BuildingDate {\r\n const splittedString: string[] = str.split(' ');\r\n let quarter: Quarter;\r\n if (splittedString[0] === 'Q1') {\r\n quarter = Quarter.FIRST_QUARTER;\r\n } else if (splittedString[0] === 'Q2') {\r\n quarter = Quarter.SECOND_QUARTER;\r\n } else if (splittedString[0] === 'Q3') {\r\n quarter = Quarter.THIRD_QUARTER;\r\n } else {\r\n quarter = Quarter.FOURTH_QUARTER;\r\n }\r\n return {\r\n quarter: quarter,\r\n year: parseInt(splittedString[1]),\r\n };\r\n },\r\n\r\n findLastUpdate(updates: Update[]): string {\r\n if (updates && updates.length > 0) {\r\n return updates\r\n .map((u) => {\r\n return u.created;\r\n })\r\n .sort()\r\n .reverse()[0]\r\n .toString();\r\n } else {\r\n return undefined;\r\n }\r\n },\r\n\r\n isOfInterfaceType(object: any, ...propertyNames: string[]): object is Type {\r\n for (const propertyName of propertyNames) {\r\n if (!(propertyName in object)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n\r\n getPaywallModalId(): string {\r\n return 'paywall-modal';\r\n },\r\n \r\n async createActivityLogFromItem(item: Project | Procurement | ProcurementReference): Promise {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(item);\r\n const updates = isProcurement\r\n ? await updateService.getUpdatesByProcurementId(item.id)\r\n : await updateService.getUpdatesByProjectId(item.id);\r\n return {\r\n id: item.id,\r\n isProcurement,\r\n name: item.name,\r\n updates,\r\n };\r\n },\r\n};\r\n","import { action } from 'vuex-class-component';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { blacklistService } from '@/services/restapi/blacklist-service';\r\nimport { createModule } from '../preloader';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport { vmx } from '..';\r\n\r\nexport default class BlacklistStore extends createModule('blacklist') {\r\n private blacklistsData = null as Blacklist[];\r\n private blacklistsPromise = null as Promise;\r\n\r\n get blacklists(): Blacklist[] {\r\n return this.blacklistsData;\r\n }\r\n\r\n get userBlacklists(): Blacklist[] {\r\n return (\r\n this.blacklists?.filter((blacklist) =>\r\n blacklist.usersIds.some((id) => vmx.user.user.id === id),\r\n ) ?? []\r\n );\r\n }\r\n\r\n get isOnUserBlacklist(): (dataObject: Project | Procurement) => boolean {\r\n return (dataObject) => {\r\n const isProcurement = globalFunctions.isProcurement(dataObject);\r\n return this.blacklists\r\n ?.filter((blacklist) => blacklist.usersIds.some((userId) => vmx.user.user.id == userId))\r\n .some(\r\n (blacklist: Blacklist) =>\r\n dataObject.id == (isProcurement ? blacklist.procurementId : blacklist.projectId),\r\n );\r\n };\r\n }\r\n\r\n @action\r\n async pushBlacklist(blacklist: Blacklist): Promise {\r\n if (blacklist == null) {\r\n throw 'Tried to push null blacklist';\r\n }\r\n\r\n const newBlacklist = await blacklistService.editBlacklist(blacklist);\r\n\r\n if (newBlacklist != null) {\r\n this.setBlacklists([\r\n ...this.blacklists.filter((blacklist) => blacklist.id != newBlacklist.id),\r\n newBlacklist,\r\n ]);\r\n }\r\n return newBlacklist;\r\n }\r\n\r\n @action\r\n async deleteBlacklist(blacklistId: number) {\r\n await blacklistService.deleteBlacklist(blacklistId);\r\n\r\n this.blacklistsData = this.blacklists.filter((blacklist) => blacklist.id != blacklistId);\r\n }\r\n\r\n @action\r\n async filterSearchItemList(searchItemList: (Procurement | Project)[]) {\r\n const blacklists = await this.fetchBlacklists();\r\n\r\n return searchItemList.filter((item) => {\r\n const isProcurement = globalFunctions.isProcurement(item);\r\n\r\n if (isProcurement) {\r\n return blacklists.every((blacklist) => blacklist.procurementId !== item.id);\r\n } else {\r\n return blacklists.every((blacklist) => blacklist.projectId !== item.id);\r\n }\r\n });\r\n }\r\n\r\n @action\r\n async fetchBlacklists() {\r\n if (this.blacklists != null) {\r\n return this.blacklists;\r\n }\r\n\r\n if (this.blacklistsPromise != null) {\r\n return this.blacklistsPromise;\r\n }\r\n\r\n this.blacklistsPromise = blacklistService.getBlacklists();\r\n this.blacklistsPromise.then((blacklists) => {\r\n this.blacklistsData = blacklists;\r\n });\r\n\r\n return this.blacklistsPromise;\r\n }\r\n\r\n @action\r\n async setBlacklists(blacklists: Blacklist[]) {\r\n this.blacklistsData = blacklists;\r\n }\r\n\r\n @action\r\n async modBlacklists(f: (blacklists: Blacklist[]) => Blacklist[]) {\r\n this.setBlacklists(f(this.blacklists));\r\n }\r\n\r\n @action\r\n async addBlacklist(blacklist: Blacklist) {\r\n this.blacklists.push(blacklist);\r\n }\r\n\r\n @action\r\n async removeBlacklist(blacklist: Blacklist) {\r\n this.setBlacklists(this.blacklists.filter((blacklist0) => blacklist0.id != blacklist.id));\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\n\r\nconst api = '/company-lists';\r\n\r\nexport class CompanyListService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getCompanyLists = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n }\r\n\r\n public createCompanyList = async (companyList: CompanyList): Promise => {\r\n const response = await this.post(api, companyList);\r\n return this.getResponse(response);\r\n }\r\n\r\n public updateCompanyList = async (companyList: CompanyList): Promise => {\r\n const response = await this.put(api, companyList);\r\n return this.getResponse(response);\r\n }\r\n\r\n public deleteCompanyList = async (id: number): Promise => {\r\n const response = await this.delete(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getCompanyListItems = async (id: number): Promise => {\r\n const response = await this.get(`${api}/items/${id}`);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const companyListService = new CompanyListService(apiConfig);","import { action } from 'vuex-class-component';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { companyListService } from '@/services/restapi/company-list-service';\r\nimport { createModule } from '../preloader';\r\nimport { vmx } from '..';\r\n\r\nexport default class CompanyListStore extends createModule('company-list') {\r\n private companyListsData = null as CompanyList[];\r\n private companyListPromise = null as Promise;\r\n\r\n get companyListById(): (id: number) => CompanyList {\r\n return (id) => {\r\n if (this.companyLists === null) {\r\n return null;\r\n }\r\n for (const companyList of this.companyLists) {\r\n if (companyList.id == id) {\r\n return companyList;\r\n }\r\n }\r\n return null;\r\n }\r\n }\r\n\r\n get companyLists(): CompanyList[] {\r\n return this.companyListsData;\r\n }\r\n\r\n get companyListsLoaded(): boolean {\r\n return this.companyLists != null;\r\n }\r\n\r\n get companyListsWithCompany(): (company: Company) => CompanyList[] {\r\n return (company) => {\r\n if (!company) {\r\n return [];\r\n }\r\n return this.companyLists.filter((list) =>\r\n list.companies && list.companies.some((com) => com.id === company.id),\r\n );\r\n }\r\n }\r\n\r\n get isIdInCompanyList(): (id: number) => boolean {\r\n return (id) => {\r\n for (const list of this.companyLists ?? []) {\r\n if (list.companies.some((listCom) => listCom.id === id)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n get isInCompanyList(): (company: Company) => boolean {\r\n return (company) => {\r\n for (const list of this.companyLists ?? []) {\r\n if (list.companies.some((listCom) => listCom.id === company.id)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n\r\n @action\r\n async deleteCompanyList(id: number): Promise {\r\n await companyListService.deleteCompanyList(id);\r\n this.companyListPromise = companyListService.getCompanyLists();\r\n this.companyListsData = await this.companyListPromise;\r\n }\r\n\r\n @action\r\n async fetchCompanyLists(): Promise {\r\n if (!vmx.user.hasCompanyAccess) {\r\n return [];\r\n }\r\n if (this.companyListsData != null) {\r\n return this.companyListsData;\r\n }\r\n\r\n if (this.companyListPromise != null) {\r\n return await this.companyListPromise;\r\n }\r\n\r\n this.companyListPromise = companyListService.getCompanyLists();\r\n this.companyListsData = await this.companyListPromise;\r\n\r\n return this.companyListsData;\r\n }\r\n\r\n @action\r\n async postCompanyList(companyList: CompanyList): Promise {\r\n const newCompanyList = await companyListService.createCompanyList(companyList);\r\n\r\n this.companyListPromise = companyListService.getCompanyLists();\r\n this.companyListsData = await this.companyListPromise;\r\n\r\n return newCompanyList;\r\n }\r\n\r\n @action\r\n async putCompanyList(companyList: CompanyList): Promise {\r\n const newCompanyList = await companyListService.updateCompanyList(companyList);\r\n\r\n this.companyListPromise = companyListService.getCompanyLists();\r\n this.companyListsData = await this.companyListPromise;\r\n\r\n return newCompanyList;\r\n }\r\n\r\n @action\r\n async refetchCompanyLists(): Promise {\r\n if (!vmx.user.hasCompanyAccess) {\r\n return [];\r\n }\r\n \r\n this.companyListPromise = companyListService.getCompanyLists();\r\n this.companyListsData = await this.companyListPromise;\r\n\r\n return this.companyListsData;\r\n }\r\n}","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Country } from '@/interfaces/country';\r\n\r\nconst api = '/countries';\r\n\r\nexport class CountryService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getCountries = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const countryService = new CountryService(apiConfig);","import { createModule, preserve } from '../preloader';\r\nimport { action } from 'vuex-class-component';\r\nimport { Country } from '@/interfaces/country';\r\nimport { countryService } from '@/services/restapi/country-service';\r\n\r\nexport default class CountryStore extends createModule('country') {\r\n private countriesData = null as Country[];\r\n private countryPromise = null as Promise;\r\n\r\n get countries(): Country[] {\r\n return this.countriesData;\r\n }\r\n\r\n @action\r\n async setCountries(countries: Country[]) {\r\n this.countriesData = countries;\r\n }\r\n\r\n @action\r\n async fetchCountries() {\r\n return this.countriesData ?? preserve(this.countryPromise, countryService.getCountries, this.setCountries);\r\n }\r\n}","import { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\n\r\nexport class CriteriaUtils {\r\n constructor() {}\r\n\r\n public sortCriteriaByName = (criteria: AbstractCriteria[]): AbstractCriteria[] => {\r\n return this.sortCriteria(criteria);\r\n };\r\n\r\n public sortCriteriaTreeByName = (criteria: Criterion[]): Criterion[] => {\r\n return this.sortCriteriaTree(criteria);\r\n }\r\n\r\n private sortCriteria(criteria: AbstractCriteria[]): AbstractCriteria[] {\r\n criteria = criteria.sort((c1, c2) => c1.name.localeCompare(c2.name));\r\n for (const criterium of criteria) {\r\n criterium.children = this.sortCriteria(criterium.children);\r\n }\r\n return criteria;\r\n }\r\n\r\n private sortCriteriaTree(criteria: Criterion[]): Criterion[] {\r\n criteria = criteria.sort((c1, c2) => c1.name.localeCompare(c2.name));\r\n for (const criterion of criteria) {\r\n criterion.children = this.sortCriteriaTree(criterion.children);\r\n }\r\n return criteria;\r\n }\r\n}\r\n\r\nexport const criteriaUtils = new CriteriaUtils();\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\r\n\r\nconst api = '/criteria';\r\n\r\nexport class CriterionService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getCriterionTypes = async (): Promise => {\r\n const response = await this.get(`${api}/criterion-types`);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const criterionService = new CriterionService(apiConfig);","import { createModule, preserve } from '../preloader'\r\nimport { action } from 'vuex-class-component';\r\nimport { criteriaUtils } from '@/util/criteria-utils';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\nimport { criterionService } from '@/services/restapi/criterion-service';\r\nimport { CriterionType } from '@/interfaces/criterias/criterion-type'\r\nimport { vmx } from '..';\r\n\r\nexport default class CriterionStore extends createModule('criterion') {\r\n private criterionTypesData = null as CriterionType[];\r\n private criterionTypesPromise = null as Promise;\r\n\r\n get criterionTypes(): CriterionType[] {\r\n return this.criterionTypesData ?? [];\r\n }\r\n\r\n get searchableCriterionTypes(): CriterionType[] {\r\n return this.criterionTypes.filter(x => x.searchable);\r\n }\r\n\r\n get standardCriterionTypes(): CriterionType[] {\r\n return this.criterionTypes.filter(x => !x.tailored);\r\n }\r\n\r\n get tailoredCriterionTypes(): CriterionType[] {\r\n return this.criterionTypes.filter(x => x.tailored);\r\n }\r\n\r\n get criterionType(): (id:number) => CriterionType {\r\n return (id) => {\r\n if (this.criterionTypesData === null) {\r\n return null;\r\n }\r\n return this.criterionTypesData.find(criterionType => criterionType.id === id);\r\n }\r\n }\r\n\r\n get criteriaOfType(): (id: number) => Criterion[] {\r\n return (id) => {\r\n if (this.criterionTypesData === null) {\r\n return null;\r\n }\r\n return this.criterionTypesData.find(criterionType => criterionType.id === id).criteria;\r\n }\r\n }\r\n\r\n get criterionTypeFromTranslation(): (translation: string) => CriterionType {\r\n return (translation) => {\r\n if (this.criterionTypesData === null) {\r\n return null;\r\n }\r\n return this.criterionTypesData\r\n .find(criterionType => criterionType.translationProperty === translation);\r\n }\r\n }\r\n\r\n get criteriaOfTypeFromTranslation(): (translation: string) => Criterion[] {\r\n return (translation) => {\r\n if (this.criterionTypesData === null) {\r\n return null;\r\n }\r\n return this.criterionTypesData\r\n .find(criterionType => criterionType.translationProperty === translation).criteria;\r\n }\r\n }\r\n\r\n get highlightedCriterionTypes(): (isProcurement: boolean) => CriterionType[] {\r\n return (isProcurement) => {\r\n return this.criterionTypes.filter(ct => isProcurement ? ct.highlightedProcurement : ct.highlightedProject);\r\n }\r\n }\r\n\r\n @action\r\n async setCriterionTypes(criterionTypes: CriterionType[]) {\r\n criterionTypes.forEach(criterionType => {\r\n criterionType.criteria = criteriaUtils.sortCriteriaTreeByName(criterionType.criteria);\r\n });\r\n this.criterionTypesData = criterionTypes;\r\n // if (\r\n // this.criterionTypesData && vmx.search.agent\r\n // && !vmx.search.agent.id\r\n // && (vmx.search.agent.allowUnusedCriterionTypes?.length <= 0 ?? true)\r\n // ) {\r\n // vmx.search.agent.allowUnusedCriterionTypes = this.criterionTypesData.map(criterionType => criterionType.id);\r\n // }\r\n }\r\n\r\n @action\r\n async fetchCriterionTypes(): Promise {\r\n return this.criterionTypesData ??\r\n await preserve(this.criterionTypesPromise, criterionService.getCriterionTypes, this.setCriterionTypes);\r\n }\r\n}","import * as domainUtils from '../../util/domain-utils';\r\nimport { createModule } from '../preloader';\r\nimport { Domain } from '@/interfaces/domain';\r\n\r\nexport default class DomainStore extends createModule('domain') {\r\n get domain(): Domain {\r\n return domainUtils.domain;\r\n }\r\n\r\n get domains(): Domain[] {\r\n return domainUtils.domains;\r\n }\r\n}\r\n","import 'vuex-class-component';\r\nimport { createModule } from '../preloader';\r\nimport { File } from '@/interfaces/file';\r\n\r\nexport default class FileStore extends createModule('file') {\r\n private fileDomain = process.env.VUE_APP_FILE_DOMAIN || 'https://f.nordiskemedier.dk/';\r\n\r\n get fromFile(): (url: string, backupImageFormat?: string) => string {\r\n return (url, backupImageFormat) => {\r\n if (url && !url.endsWith('.') && !url.includes('null')) {\r\n return this.fileDomain + url;\r\n } else if (backupImageFormat === '1x1') {\r\n return this.fileDomain + 'project-agent/image-coming-1x1.png';\r\n } else if (backupImageFormat === '3x1') {\r\n return this.fileDomain + 'project-agent/image-coming-3x1.png';\r\n } else {\r\n return this.fileDomain + 'project-agent/image-coming-1x2.png';\r\n }\r\n };\r\n }\r\n\r\n get imageFromFile(): (file: File, backupImageFormat?: string) => string {\r\n return (file, backupImageFormat) => {\r\n if (file) {\r\n return file.link ? file.link : this.fromFile(`${file.code}.${file.extension}`, backupImageFormat);\r\n } else {\r\n return this.fromFile(undefined, backupImageFormat);\r\n }\r\n }\r\n }\r\n}\r\n","import da from '../../resources/translations/lang-da.json';\r\nimport en from '../../resources/translations/lang-en.json';\r\nimport sv from '../../resources/translations/lang-sv.json';\r\n// import MessagesType from './locales/message-type';\r\n\r\nconst messages = {\r\n da,\r\n en,\r\n sv,\r\n};\r\n\r\nexport default messages;\r\n","const numberFormats = {\r\n 'da-DK': {\r\n currency: {\r\n style: 'currency',\r\n currency: 'DKK',\r\n maximumFractionDigits: 0,\r\n },\r\n },\r\n 'en-US': {\r\n currency: {\r\n style: 'currency',\r\n currency: 'USD',\r\n maximumFractionDigits: 0,\r\n },\r\n },\r\n 'sv-SE': {\r\n currency: {\r\n style: 'currency',\r\n currency: 'SEK',\r\n maximumFractionDigits: 0,\r\n },\r\n },\r\n};\r\n\r\nexport default numberFormats;\r\n","import * as languageUtils from '../util/language-utils';\r\nimport messages from './messages';\r\nimport numberFormats from './locales/number-formats';\r\nimport Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\n\r\nVue.use(VueI18n);\r\n\r\nexport default new VueI18n({\r\n locale: languageUtils.getLanguageId().iso6391 ?? process.env.VUE_APP_I18N_LOCALE ?? 'da',\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\r\n messages,\r\n numberFormats,\r\n});\r\n","import * as languageUtils from '../../util/language-utils';\r\nimport { action } from 'vuex-class-component';\r\nimport { createModule } from '../preloader';\r\nimport i18n from '@/localization/i18n';\r\nimport { Language } from '@/interfaces/language';\r\n\r\nexport default class LanguageStore extends createModule('language') {\r\n get language(): Language {\r\n return languageUtils.getLanguageId();\r\n }\r\n\r\n get languages(): Language[] {\r\n return languageUtils.languages;\r\n }\r\n\r\n @action\r\n async updateLanguage(language: Language) {\r\n if (i18n.locale !== language.iso6391) {\r\n i18n.locale = language.iso6391;\r\n }\r\n localStorage.setItem('languageId', JSON.stringify(language));\r\n }\r\n}","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { LimitedAccess } from '@/interfaces/limited-access';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\n\r\nconst api = '/limited-access';\r\n\r\nexport class LimitedAccessService extends AbstractService { \r\n session: number = 24 * 14;\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public async getLimitedAccess() {\r\n if (this.getToken() == null || this.getToken().length == 0) {\r\n return null;\r\n }\r\n\r\n const value = await this.get(api)\r\n if (ResponseCodes.is2xx(value.status)) {\r\n return value.data;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public async getLimitedAccessToken(): Promise {\r\n return this.getToken();\r\n }\r\n\r\n public async create({name, mail} : {name: string, mail: string}) {\r\n const value = await this.post(api + '/create', { name, mail })\r\n\r\n if (ResponseCodes.is2xx(value.status)) {\r\n return ResponseCodes.SUCCESS; // A limited access has been created and mail sent\r\n }\r\n\r\n if (value.status == ResponseCodes.FORBIDDEN) { \r\n return ResponseCodes.FORBIDDEN; // IP Blacklisted\r\n }\r\n\r\n if (value.status == ResponseCodes.CONFLICT) {\r\n return ResponseCodes.CONFLICT; // Mail already exists\r\n }\r\n\r\n return ResponseCodes.INTERNAL_SERVER_ERROR; // I dont know\r\n }\r\n\r\n public async resend(mail: string) {\r\n const value = await this.post(api + '/resend', { mail })\r\n\r\n if (value.status == ResponseCodes.SUCCESS) {\r\n return ResponseCodes.SUCCESS // Missing email\r\n }\r\n\r\n if (value.status == ResponseCodes.BAD_REQUEST) {\r\n return ResponseCodes.BAD_REQUEST // Missing email\r\n }\r\n\r\n if (value.status == ResponseCodes.NOT_FOUND) {\r\n return ResponseCodes.NOT_FOUND // Email not in database\r\n }\r\n\r\n return ResponseCodes.INTERNAL_SERVER_ERROR; // I dont know\r\n }\r\n\r\n public async auth({mail, code}: {mail: string, code: string}) {\r\n const value = await this.post(api + '/auth', {mail, code})\r\n\r\n if (value.status == ResponseCodes.BAD_REQUEST) {\r\n return ResponseCodes.BAD_REQUEST // Missing body\r\n }\r\n\r\n if (value.status == ResponseCodes.NOT_FOUND) {\r\n return ResponseCodes.NOT_FOUND // Could not find email in db\r\n }\r\n\r\n if (value.status == ResponseCodes.UNAUTHORIZED) {\r\n return ResponseCodes.UNAUTHORIZED // Code does not match db\r\n }\r\n\r\n if (ResponseCodes.is2xx(value.status) && value.data != null) {\r\n this.setToken(value.data, this.session);\r\n return ResponseCodes.SUCCESS;\r\n }\r\n \r\n return ResponseCodes.INTERNAL_SERVER_ERROR // I dont know\r\n }\r\n}\r\n\r\nexport const limitedAccessService = new LimitedAccessService(apiConfig);","import { action } from 'vuex-class-component';\r\nimport { cookieUtils } from '@/util/cookie-utils';\r\nimport { createModule } from '../preloader';\r\nimport { LimitedAccess } from '@/interfaces/limited-access';\r\nimport { limitedAccessService } from '@/services/restapi/limited-access-service';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\n\r\nexport default class LimitedAccessStore extends createModule('limited-access') {\r\n private limitedAccessData = null as LimitedAccess\r\n private limitedAccessPromise = null as Promise\r\n private loadinglimitedAccessData: boolean = null;\r\n\r\n get limitedAccess(): LimitedAccess {\r\n return this.limitedAccessData;\r\n }\r\n\r\n get token(): Promise {\r\n return limitedAccessService.getLimitedAccessToken();\r\n }\r\n\r\n get loadinglimitedAccess(): boolean {\r\n return this.loadinglimitedAccessData;\r\n }\r\n\r\n @action\r\n async fetchLimitedAccess(): Promise {\r\n if (this.limitedAccessData != null) {\r\n return this.limitedAccessData\r\n }\r\n\r\n if (this.limitedAccessPromise != null) {\r\n return this.limitedAccessPromise\r\n }\r\n\r\n this.loadinglimitedAccessData = true;\r\n this.limitedAccessPromise = limitedAccessService.getLimitedAccess();\r\n this.limitedAccessData = await this.limitedAccessPromise;\r\n this.loadinglimitedAccessData = false;\r\n\r\n return this.limitedAccessPromise;\r\n }\r\n\r\n @action\r\n async reFetchLimitedAccess(): Promise {\r\n this.limitedAccessPromise = limitedAccessService.getLimitedAccess();\r\n this.limitedAccessData = await this.limitedAccessPromise;\r\n return this.limitedAccessPromise;\r\n }\r\n\r\n @action\r\n async create(info: { name: string, mail: string }) {\r\n return await limitedAccessService.create(info);\r\n }\r\n\r\n @action\r\n async resend(mail: string) {\r\n return await limitedAccessService.resend(mail);\r\n }\r\n\r\n @action\r\n async auth(info: { mail: string, code: string }) {\r\n const status = await limitedAccessService.auth(info);\r\n if (status != ResponseCodes.SUCCESS) {\r\n return status;\r\n }\r\n\r\n this.fetchLimitedAccess();\r\n return status;\r\n }\r\n\r\n @action\r\n async clear() {\r\n cookieUtils.deleteCookie('session');\r\n this.limitedAccessData = null;\r\n this.limitedAccessPromise = null;\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { ArticleLink } from '@/interfaces/article-link';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { List } from '@/interfaces/list';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\n\r\nconst api = '/lists';\r\n\r\nexport class ListService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getLists = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public findRelevantArticles = async (limit: number): Promise => {\r\n const response = await this.get(api + '/articles', { params: { limit: limit } });\r\n return this.getResponse(response);\r\n };\r\n\r\n public postList = async (list: List): Promise => {\r\n const response = await this.post(api, list);\r\n return this.getResponse(response);\r\n };\r\n\r\n public putList = async (list: List): Promise => {\r\n const response = await this.put(api, list);\r\n return this.getResponse(response);\r\n };\r\n\r\n public deleteList = async (id: number): Promise => {\r\n const response = await this.delete(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getListItems = async (id: number): Promise<(Project | Procurement)[]> => {\r\n const response = await this.get<(Project | Procurement)[]>(`${api}/items/${id}`);\r\n return this.getResponse(response);\r\n };\r\n\r\n public setListSeen = async (id: number): Promise => {\r\n const response = await this.put(`${api}/setSeen/${id}`);\r\n return this.getResponse(response);\r\n }\r\n}\r\n\r\nexport const listService = new ListService(apiConfig);\r\n","export enum ModalIds {\r\n AGENT_DELETE_MODAL = 'agent-delete-modal',\r\n AGENT_REPLACE_MODAL = 'agent-replace-modal',\r\n AGENT_SETTINGS_MODAL = 'agent-settings-modal',\r\n BLACKLIST_REMOVE_MODAL = 'blacklist-remove-modal',\r\n BLACKLIST_SETTINGS_MODAL = 'blacklist-settings-modal',\r\n COMPANY_LIST_ADD_MODAL = 'company-list-add-modal',\r\n COMPANY_LIST_REMOVE_MODAL = 'company-list-remove-modal',\r\n COMPANY_LIST_SETTINGS_MODAL = 'company-list-settings-modal',\r\n LIST_ADD_MODAL = 'list-add-modal',\r\n LIST_REMOVE_MODAL = 'list-remove-modal',\r\n LIST_SETTINGS_MODAL = 'list-settings-modal',\r\n // NOTE_DELETE_MODAL = 'note-delete-modal',\r\n // NOTE_EDIT_MODAL = 'note-edit-modal',\r\n PAYWALL_MODAL = 'paywall-modal',\r\n TIP_MODAL = 'tip-modal',\r\n}\r\n","import { action } from 'vuex-class-component';\r\nimport { createModule } from '../preloader';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { listService } from '@/services/restapi/list-service';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\nexport default class ListStore extends createModule('list') {\r\n private listsData = null as List[];\r\n private listsPromise = null as Promise;\r\n\r\n get lists(): List[] {\r\n return this.listsData;\r\n }\r\n\r\n get isInList(): (searchItem: Project | Procurement | ProcurementReference) => boolean {\r\n return (dataObject) => {\r\n for (const list of this.lists ?? []) {\r\n if ((dataObject as Procurement).procurementPhase !== undefined) {\r\n if (\r\n list.procurements &&\r\n list.procurements.some((procurementId) => procurementId === dataObject.id)\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (list.projects && list.projects.some((projectId) => projectId === dataObject.id)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n }\r\n\r\n get isIdInList(): (id: number, isProject: boolean) => boolean {\r\n return (id, isProject) => {\r\n for (const list of this.lists ?? []) {\r\n if (isProject) {\r\n return list.projects ? list.projects.some(projectId => projectId === id) : false;\r\n } else {\r\n return list.procurements ? list.procurements.some(procurementId => procurementId === id) : false;\r\n }\r\n }\r\n };\r\n }\r\n\r\n get listById(): (id: number) => List {\r\n return (id) => {\r\n if (this.lists === null) {\r\n return null;\r\n }\r\n for (const list of this.lists) {\r\n if (list.id == id) {\r\n return list;\r\n }\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n get listsWithObject(): (dataObject: Procurement | Project | ProcurementReference) => List[] {\r\n return (dataObject) => {\r\n return this.lists.filter((list) => {\r\n if (\r\n globalFunctions.isOfInterfaceType(\r\n dataObject,\r\n 'procurementPhase',\r\n )\r\n ) {\r\n return (\r\n list.procurements && list.procurements.some((procurementId) => procurementId === dataObject.id)\r\n );\r\n } else {\r\n return list.projects && list.projects.some((projecId) => projecId === dataObject.id);\r\n }\r\n });\r\n };\r\n }\r\n\r\n get listsLoaded(): boolean {\r\n return this.lists != null;\r\n }\r\n\r\n @action\r\n async putList(list: List): Promise {\r\n const newList = await listService.putList(list);\r\n\r\n this.listsPromise = listService.getLists();\r\n this.listsData = await this.listsPromise;\r\n\r\n return newList;\r\n }\r\n\r\n @action\r\n async refetchLists() {\r\n this.listsPromise = listService.getLists();\r\n this.listsData = await this.listsPromise;\r\n\r\n return this.listsData;\r\n }\r\n\r\n @action\r\n async fetchLists() {\r\n if (this.listsData != null) {\r\n return this.listsData;\r\n }\r\n\r\n if (this.listsPromise != null) {\r\n return await this.listsPromise;\r\n }\r\n\r\n this.listsPromise = listService.getLists();\r\n this.listsData = await this.listsPromise;\r\n\r\n return this.listsData;\r\n }\r\n}\r\n","import { action } from 'vuex-class-component';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { createModule } from '../preloader';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { Tip } from '@/interfaces/tip';\r\n\r\nexport default class ModalStore extends createModule('modal') {\r\n private agentData = null as Agent;\r\n private blacklistObjectData = null as Procurement | Project | ProcurementReference;\r\n private companyListData = null as CompanyList;\r\n private companyData = null as Company;\r\n private listData = null as List;\r\n private listObjectData = null as Procurement | Project | ProcurementReference;\r\n private tipData = null as Tip;\r\n // private noteData = null as Note;\r\n\r\n get agent(): Agent {\r\n return this.agentData;\r\n }\r\n\r\n get blacklistObject(): Procurement | Project | ProcurementReference {\r\n return this.blacklistObjectData;\r\n }\r\n\r\n get companyList(): CompanyList {\r\n return this.companyListData;\r\n }\r\n\r\n get company(): Company {\r\n return this.companyData;\r\n }\r\n\r\n get list(): List {\r\n return this.listData;\r\n }\r\n\r\n get listObject(): Procurement | Project | ProcurementReference {\r\n return this.listObjectData;\r\n }\r\n\r\n get tip(): Tip {\r\n return this.tipData;\r\n }\r\n\r\n @action\r\n async openAgentDeleteModal(agent: Agent) {\r\n if (agent != null) {\r\n this.agentData = agent;\r\n await this.openModal(ModalIds.AGENT_DELETE_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openAgentReplaceModal(agent: Agent) {\r\n if (agent != null) {\r\n this.agentData = agent;\r\n await this.openModal(ModalIds.AGENT_REPLACE_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openAgentSettingsModal(agent: Agent) {\r\n if (agent != null) {\r\n this.agentData = agent;\r\n await this.openModal(ModalIds.AGENT_SETTINGS_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openBlacklistSettingsModal(blacklistObject: Procurement | Project | ProcurementReference) {\r\n if (blacklistObject != null) {\r\n this.blacklistObjectData = blacklistObject;\r\n await this.openModal(ModalIds.BLACKLIST_SETTINGS_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openBlacklistRemoveModal(blacklistObject: Procurement | Project | ProcurementReference) {\r\n if (blacklistObject != null) {\r\n this.blacklistObjectData = blacklistObject;\r\n await this.openModal(ModalIds.BLACKLIST_REMOVE_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openCompanyListAddModal(company: Company) {\r\n if (company != null) {\r\n this.companyData = company;\r\n await this.openModal(ModalIds.COMPANY_LIST_ADD_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openCompanyListRemoveModal(company: Company) {\r\n if (company != null) {\r\n this.companyData = company;\r\n await this.openModal(ModalIds.COMPANY_LIST_REMOVE_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openCompayListSettingsModal(payload: {\r\n companyList: CompanyList;\r\n company?: Company;\r\n }) {\r\n if (payload != null && (payload.companyList != null || payload.company != null)) {\r\n this.companyListData = payload.companyList\r\n this.companyData = payload.company;\r\n await this.openModal(ModalIds.COMPANY_LIST_SETTINGS_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openListAddModal(listObject: Procurement | Project | ProcurementReference) {\r\n if (listObject != null) {\r\n this.listObjectData = listObject;\r\n await this.openModal(ModalIds.LIST_ADD_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openListRemoveModal(listObject: Procurement | Project | ProcurementReference) {\r\n if (listObject != null) {\r\n this.listObjectData = listObject;\r\n await this.openModal(ModalIds.LIST_REMOVE_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openListSettingsModal(payload: {\r\n list: List;\r\n listObject?: Procurement | Project | ProcurementReference;\r\n }) {\r\n if (payload != null && (payload.list != null || payload.listObject != null)) {\r\n this.listData = payload.list;\r\n this.listObjectData = payload.listObject;\r\n await this.openModal(ModalIds.LIST_SETTINGS_MODAL);\r\n }\r\n }\r\n\r\n @action\r\n async openTipModal(tip: Tip) {\r\n if (tip != null) {\r\n this.tipData = tip;\r\n await this.openModal(ModalIds.TIP_MODAL);\r\n }\r\n }\r\n\r\n // @action\r\n // async openNoteDeleteModal(note: Note) {\r\n // if (note != null) {\r\n // this.noteData = note;\r\n // await this.openModal(ModalIds.NOTE_DELETE_MODAL);\r\n // }\r\n // }\r\n\r\n // @action\r\n // async openNoteEditModal(note: Note) {\r\n // if (note != null) {\r\n // this.noteData = note;\r\n // await this.openModal(ModalIds.NOTE_EDIT_MODAL);\r\n // }\r\n // }\r\n\r\n @action\r\n async openPaywallModal() {\r\n await this.openModal(ModalIds.PAYWALL_MODAL);\r\n }\r\n\r\n @action\r\n private async openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n if (element) {\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\r\n\r\nconst api = '/procurement-phases';\r\n\r\nexport class ProcurementPhaseService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getProcurementPhases = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getProcurementPhaseById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const procurementPhaseService = new ProcurementPhaseService(apiConfig);\r\n","import { createModule, preserve } from '../preloader';\r\nimport { action } from 'vuex-class-component';\r\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\r\nimport { procurementPhaseService } from '@/services/restapi/procurement-phase-service';\r\n\r\nexport default class ProcurementPhaseStore extends createModule('procurementPhase') {\r\n private procurementPhasesData = null as ProcurementPhase[];\r\n private procurementPhasesPromise = null as Promise;\r\n\r\n get procurementPhases() {\r\n return this.procurementPhasesData;\r\n }\r\n\r\n @action\r\n async setProcurementPhases(procurementPhases: ProcurementPhase[]) {\r\n this.procurementPhasesData = procurementPhases;\r\n }\r\n\r\n @action\r\n async fetchProcurementPhases() {\r\n return (\r\n this.procurementPhasesData ??\r\n preserve(\r\n this.procurementPhasesPromise,\r\n procurementPhaseService.getProcurementPhases,\r\n this.setProcurementPhases,\r\n )\r\n );\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ProcurementType } from '@/interfaces/criterias/procurement-type';\r\n\r\nconst api = '/procurement-types';\r\n\r\nexport class ProcurementTypeService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getProcurementTypes = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getProcurementTypeById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const procurementTypeService = new ProcurementTypeService(apiConfig);\r\n","import { createModule, preserve } from '../preloader';\r\nimport { action } from 'vuex-class-component';\r\nimport { ProcurementType } from '@/interfaces/criterias/procurement-type';\r\nimport { procurementTypeService } from '@/services/restapi/procurement-type-service';\r\n\r\nexport default class ProcurementTypeStore extends createModule('procurementType') {\r\n private procurementTypesData = null as ProcurementType[];\r\n private procurementTypesPromise = null as Promise;\r\n\r\n get procurementTypes() {\r\n return this.procurementTypesData;\r\n }\r\n\r\n @action\r\n async setProcurementPhases(procurementTypes: ProcurementType[]) {\r\n this.procurementTypesData = procurementTypes;\r\n }\r\n\r\n @action\r\n async fetchProcurementTypes() {\r\n return (\r\n this.procurementTypesData ??\r\n preserve(\r\n this.procurementTypesPromise,\r\n procurementTypeService.getProcurementTypes,\r\n this.setProcurementPhases,\r\n )\r\n );\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\r\n\r\nconst api = '/project-phases';\r\n\r\nexport class ProjectPhaseService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getProjectPhases = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getProjectPhaseById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const projectPhaseService = new ProjectPhaseService(apiConfig);\r\n","import { createModule, preserve } from '../preloader';\r\nimport { action } from 'vuex-class-component';\r\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\r\nimport { projectPhaseService } from '@/services/restapi/project-phase-service';\r\n\r\nexport default class ProjectPhaseStore extends createModule('projectPhase') {\r\n private projectPhasesData = null as ProjectPhase[];\r\n private projectPhasesPromise = null as Promise;\r\n\r\n get projectPhases(): ProjectPhase[] {\r\n return this.projectPhasesData;\r\n }\r\n\r\n @action\r\n async setProjectPhases(projectPhases: ProjectPhase[]) {\r\n this.projectPhasesData = projectPhases;\r\n }\r\n\r\n @action\r\n async fetchProjectPhases() {\r\n return (\r\n this.projectPhasesData ??\r\n preserve(\r\n this.projectPhasesPromise,\r\n projectPhaseService.getProjectPhases,\r\n this.setProjectPhases,\r\n )\r\n );\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Role } from '@/interfaces/criterias/role';\r\n\r\nconst api = '/roles';\r\n\r\nexport class ProjectRoleService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getRoles = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getRoleById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const projectRoleService = new ProjectRoleService(apiConfig);\r\n","import { createModule, preserve } from '../preloader';\r\nimport { action } from 'vuex-class-component';\r\nimport { projectRoleService } from '@/services/restapi/role-service';\r\nimport { Role } from '@/interfaces/criterias/role';\r\n\r\nexport default class RoleStore extends createModule('role') {\r\n private rolesData = null as Role[];\r\n private rolesPromise = null as Promise;\r\n\r\n get roles(): Role[] {\r\n return this.rolesData;\r\n }\r\n\r\n @action\r\n async setRoles(roles: Role[]) {\r\n this.rolesData = roles;\r\n }\r\n\r\n @action\r\n async fetchRoles() {\r\n return (\r\n this.rolesData ?? preserve(this.rolesPromise, projectRoleService.getRoles, this.setRoles)\r\n );\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\r\nimport { File } from '@/interfaces/file';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\n\r\nconst api = '/companies';\r\n\r\nexport class CompanyService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getCompanyById = async (id: number): Promise => {\r\n const response = await this.get(`${api}/byId/${id}`);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getCompanyLogosByDomain = async (): Promise => {\r\n const response = await this.get(`${api}/logo/byDomain`);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getItemsForCompany = async (id: number, onlyProjects: boolean, limit: number): Promise> => {\r\n let response;\r\n let config = {\r\n params: {},\r\n };\r\n if (onlyProjects) {\r\n config = {\r\n params: {\r\n onlyProjects: onlyProjects,\r\n },\r\n };\r\n }\r\n if (limit) {\r\n config.params = {\r\n ...config.params,\r\n limit: limit,\r\n }\r\n }\r\n if (config.params) {\r\n response = await this.get>(`${api}/items/${id}`, config);\r\n } else {\r\n response = await this.get>(`${api}/items/${id}`);\r\n }\r\n return this.getResponse(response);\r\n };\r\n\r\n public searchCompanies = async (\r\n companyAgent: CompanyAgent,\r\n index: number,\r\n limit: number,\r\n orderBy: string,\r\n ): Promise<{ count: number, companies: Company[] }> => {\r\n const response = await this.post<{ count: number, companies: Company[] }>(\r\n `${api}/search`, companyAgent, { params: { index, limit, orderBy }},\r\n );\r\n return this.getResponse(response);\r\n };\r\n\r\n public searchCompanyCount = async (companyAgent: CompanyAgent, maxDaysOld?: number): Promise => {\r\n let response;\r\n if (maxDaysOld != null) {\r\n const config = {\r\n params: { maxDaysOld: maxDaysOld },\r\n };\r\n response = await this.post(`${api}/search/count`, companyAgent, config);\r\n } else {\r\n response = await this.post(`${api}/search/count`, companyAgent);\r\n }\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const companyService = new CompanyService(apiConfig);\r\n","export enum MailTime {\r\n Daily = 'daily',\r\n Weekly = 'weekly',\r\n Always = 'always',\r\n Never = 'never',\r\n}\r\n","export enum OrderByOptions {\r\n BUDGET = 'BUDGET_',\r\n UPDATED = 'UPDATED_',\r\n PUBLISHED = 'PUBLISHED_',\r\n}","import { action } from 'vuex-class-component';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\r\nimport { companyService } from '@/services/restapi/company-service';\r\nimport { createModule } from '../preloader';\r\nimport { MailTime } from '@/interfaces/enums/mail-time';\r\nimport { OrderByOptions } from '@/util/enums/order-by-options';\r\nimport { vmx } from '..';\r\n\r\nexport default class SearchCompanyStore extends createModule('searchCompany') {\r\n\r\n private static LIMIT = 20;\r\n\r\n private companyAgentData: CompanyAgent = this.initialCompanyAgent();\r\n private debouncer = null as NodeJS.Timeout;\r\n private indexData = 0;\r\n private limitData = SearchCompanyStore.LIMIT;\r\n private countData = null as number;\r\n private resultData = null as Company[];\r\n private resultPromise = null as Promise<{ count: number, companies: Company[]}>;\r\n\r\n private orderByData = null as OrderByOptions;\r\n private orderByDescData = true as boolean;\r\n\r\n get companyAgent(): CompanyAgent {\r\n return this.companyAgentData;\r\n }\r\n\r\n get count(): number {\r\n return this.countData;\r\n }\r\n\r\n get index(): number {\r\n return this.index;\r\n }\r\n\r\n get initialCompanyAgent(): () => CompanyAgent {\r\n return () => ({\r\n freeSearch: '',\r\n countryIds: [],\r\n roles: [],\r\n mailTime: MailTime.Daily,\r\n paUserIds: [],\r\n })\r\n }\r\n\r\n get isSearchEmpty(): boolean {\r\n return !this.companyAgentData.freeSearch\r\n && this.companyAgentData.countryIds.length < 1\r\n && this.companyAgentData.roles.length < 1;\r\n }\r\n\r\n get limit(): number {\r\n return this.limitData;\r\n }\r\n\r\n get loading(): boolean {\r\n return this.resultPromise != null;\r\n }\r\n\r\n get orderBy() {\r\n return this.orderByData;\r\n }\r\n\r\n get orderByDesc() {\r\n if (this.orderByDescData == null) {\r\n this.orderByDescData = true;\r\n }\r\n return this.orderByDescData;\r\n }\r\n\r\n get results(): Company[] {\r\n return this.resultData;\r\n }\r\n\r\n @action\r\n async resetCompanyAgent() {\r\n this.setCompanyAgent(this.initialCompanyAgent());\r\n await this.search(null);\r\n }\r\n\r\n @action\r\n private async search(newLimit: number) {\r\n if (!vmx.user.hasCompanyAccess) {\r\n return;\r\n }\r\n\r\n if (this.debouncer != null) {\r\n clearTimeout(this.debouncer);\r\n }\r\n\r\n this.debouncer = setTimeout(async () => {\r\n\r\n if (!newLimit || this.resultData == null) {\r\n this.resultData = [];\r\n }\r\n\r\n // Set index and limit only after timeout, to not mess with the page view.\r\n this.indexData = newLimit ? this.limitData : 0;\r\n this.limitData = newLimit ?? SearchCompanyStore.LIMIT;\r\n\r\n let orderByQuery = `${OrderByOptions.UPDATED}DESC`;\r\n if (!this.isSearchEmpty) {\r\n const orderByDesc = this.orderByDesc !== null && !this.orderByDesc ? 'ASC' : 'DESC';\r\n orderByQuery =\r\n this.orderBy == null\r\n ? null\r\n : `${this.orderBy}${orderByDesc}`;\r\n }\r\n\r\n this.resultPromise = companyService.searchCompanies(\r\n this.companyAgentData,\r\n this.indexData,\r\n this.limitData,\r\n orderByQuery,\r\n );\r\n\r\n const newData = await this.resultPromise;\r\n this.resultData = this.resultData.concat(newData.companies);\r\n if (!newLimit) {\r\n this.countData = newData.count;\r\n }\r\n this.resultPromise = null;\r\n this.debouncer = null;\r\n }, 500);\r\n }\r\n\r\n @action\r\n async setCompanyAgent(companyAgent: CompanyAgent) {\r\n this.companyAgentData = { ...companyAgent }\r\n await this.search(null);\r\n }\r\n\r\n @action\r\n async setOrderByDesc(orderByDesc: boolean) {\r\n if (this.orderByDescData != orderByDesc) {\r\n this.orderByDescData = orderByDesc;\r\n await this.search(null);\r\n }\r\n }\r\n\r\n @action\r\n async setOrderBy(orderBy: OrderByOptions) {\r\n if (this.orderByData !== orderBy) {\r\n this.orderByData = orderBy;\r\n await this.search(null);\r\n }\r\n }\r\n\r\n @action\r\n async updateCompanyAgent(companyAgent: Partial) {\r\n this.companyAgentData = {\r\n ...this.companyAgent,\r\n ...companyAgent,\r\n };\r\n await this.search(null);\r\n }\r\n\r\n @action\r\n async setLimit(newLimit: number) {\r\n await this.search(newLimit);\r\n }\r\n}","export enum FreeSearchTypes {\r\n NORMAL = 'normal',\r\n ZIPCODE = 'zipCode',\r\n}","export enum SearchItemTypes {\r\n PROJECT = 'Project',\r\n PROCUREMENT = 'Procurement',\r\n COMPANY = 'Company',\r\n}","import { Agent } from '@/interfaces/agent';\r\nimport { User } from '@/interfaces/user';\r\n\r\ntype Storage = {\r\n agent: Agent;\r\n version: string;\r\n user: User;\r\n};\r\n\r\nexport function getStorage(key: K): V {\r\n try {\r\n const storeAgent = localStorage.getItem(key);\r\n if (storeAgent == null) {\r\n return null;\r\n }\r\n\r\n return JSON.parse(storeAgent);\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n}\r\n\r\nexport function setStorage(key: K, value: V): V {\r\n try {\r\n if (value == null) {\r\n return null;\r\n }\r\n localStorage.setItem(key, JSON.stringify(value));\r\n return value;\r\n } catch (error) {\r\n console.error(error);\r\n return null;\r\n }\r\n}\r\n\r\nexport function clearStorage(): void {\r\n localStorage.clear();\r\n}\r\n\r\nexport function removeStorage(key: K): void {\r\n if (key == null) {\r\n return;\r\n }\r\n localStorage.removeItem(key);\r\n}\r\n","import { getStorage, setStorage } from '../storage';\r\nimport { action } from 'vuex-class-component';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport { agentService } from '@/services/restapi/agent-service';\r\nimport { createModule } from '../preloader';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\nimport { FreeSearchTypes } from '@/util/enums/free-search-types';\r\nimport { MailTime } from '@/interfaces/enums/mail-time';\r\nimport { SearchItemPage } from '@/interfaces/search-item-page';\r\nimport { SearchItemTypes } from '@/util/enums/search-item-types';\r\nimport { vmx } from '..';\r\n\r\nexport default class SearchStore extends createModule('search') {\r\n public static readonly orderByOptions = {\r\n bestMatch: null as null,\r\n budget: 'BUDGET_' as const,\r\n updated: 'UPDATED_' as const,\r\n published: 'PUBLISHED_' as const,\r\n };\r\n\r\n private agentData = null as Agent;\r\n\r\n private searchItemPageData = null as SearchItemPage;\r\n private searchItemPagePromise = null as Promise;\r\n private searchItemNextPagePromise = null as Promise;\r\n\r\n private pageData = null as number;\r\n\r\n private orderByData = null as string;\r\n private orderByDescData = null as boolean;\r\n\r\n private debouncer = null as NodeJS.Timeout;\r\n\r\n get agent(): Agent {\r\n if (this.agentData != null) {\r\n return this.agentData;\r\n }\r\n\r\n const storeAgent = getStorage('agent');\r\n if (storeAgent != null && this.isAgent(storeAgent)) {\r\n this.agentData = storeAgent;\r\n if (!this.agentData.freeSearchType) {\r\n this.agentData.freeSearchType = FreeSearchTypes.NORMAL;\r\n }\r\n setStorage('agent', this.agentData);\r\n return this.agentData;\r\n }\r\n\r\n this.agentData = this.getInitialAgent();\r\n setStorage('agent', this.agentData);\r\n return this.agentData;\r\n }\r\n\r\n private get isAgent(): (agent: Agent) => boolean {\r\n return (agent) => {\r\n const agentKeys = JSON.stringify(Object.keys(agent).sort());\r\n const initialAgentKeys = JSON.stringify(Object.keys(this.getInitialAgent()).sort());\r\n\r\n return agentKeys === initialAgentKeys;\r\n };\r\n }\r\n\r\n get searchItemPage() {\r\n return this.searchItemPageData;\r\n }\r\n\r\n get page() {\r\n if (this.pageData == null) {\r\n this.pageData = 1;\r\n }\r\n return this.pageData;\r\n }\r\n\r\n get limit() {\r\n return 20;\r\n }\r\n\r\n get orderBy() {\r\n if (this.orderByData === null) {\r\n this.orderByData = SearchStore.orderByOptions.bestMatch;\r\n }\r\n return this.orderByData;\r\n }\r\n\r\n get orderByDesc() {\r\n if (this.orderByDescData == null) {\r\n this.orderByDescData = true;\r\n }\r\n return this.orderByDescData;\r\n }\r\n\r\n get agentCriteriaOfType(): (typeId: number) => Criterion[] {\r\n return (typeId) => {\r\n if (this.agent.criteria) {\r\n return this.agent.criteria.filter(criterion => criterion.typeId === typeId)\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n @action\r\n async setAgent(agent: Agent) {\r\n this.agentData = { ...agent };\r\n setStorage('agent', this.agent);\r\n await this.search();\r\n }\r\n\r\n @action\r\n async updateAgent(agent: Partial) {\r\n this.agentData = {\r\n ...this.agentData,\r\n ...agent,\r\n };\r\n setStorage('agent', this.agentData);\r\n await this.search();\r\n }\r\n\r\n @action\r\n async updateCriteriaForType(args: { criteria: Criterion[], typeId: number }) {\r\n this.agentData.criteria = this.agentData.criteria?.filter(criterion => criterion.typeId !== args.typeId) ?? [];\r\n this.agentData.criteria = this.agentData.criteria.concat(args.criteria);\r\n this.agent.id = null;\r\n setStorage('agent', this.agentData);\r\n await this.search();\r\n }\r\n\r\n @action\r\n async clearAgent() {\r\n this.setAgent(this.getInitialAgent());\r\n }\r\n\r\n @action\r\n async clearCriteria() {\r\n this.setAgent({\r\n ...this.getInitialAgent(),\r\n isProcurement: this.agent.isProcurement,\r\n });\r\n }\r\n\r\n @action\r\n async setPage(page: number) {\r\n if (this.pageData == page) {\r\n return;\r\n }\r\n\r\n if (this.pageData + 1 == page) {\r\n this.pageData = page;\r\n await this.loadNextPage();\r\n return;\r\n }\r\n\r\n this.pageData = page;\r\n this.search();\r\n }\r\n\r\n @action\r\n private async loadNextPage() {\r\n this.searchItemPageData = null;\r\n this.searchItemPageData = await this.searchItemNextPagePromise;\r\n\r\n this.searchItemPagePromise = this.searchItemNextPagePromise;\r\n\r\n const orderByDesc = this.orderByDesc ? 'DESC' : 'ASC';\r\n const orderByQuary =\r\n this.orderBy == null\r\n ? null\r\n : `${this.orderBy}${orderByDesc}`;\r\n\r\n this.searchItemNextPagePromise = agentService.search(\r\n this.agent,\r\n this.page * this.limit,\r\n this.limit,\r\n orderByQuary,\r\n );\r\n }\r\n\r\n @action\r\n async setOrderBy(orderBy: string) {\r\n let isCorrectForm = false;\r\n for (const value of Object.values(SearchStore.orderByOptions)) {\r\n if (value === null || value === orderBy) {\r\n isCorrectForm = true;\r\n break;\r\n }\r\n }\r\n if (!isCorrectForm) {\r\n return;\r\n }\r\n if (this.orderByData !== orderBy) {\r\n this.orderByData = orderBy;\r\n await this.search();\r\n }\r\n }\r\n\r\n @action\r\n async setOrderByDesc(orderByDesc: boolean) {\r\n this.orderByDescData = orderByDesc;\r\n await this.search();\r\n }\r\n\r\n @action\r\n async fetchSearchItemPage() {\r\n if (this.searchItemPageData) {\r\n return this.searchItemPageData;\r\n }\r\n\r\n if (this.searchItemPagePromise) {\r\n return this.searchItemPagePromise;\r\n }\r\n\r\n await this.search();\r\n\r\n return this.searchItemPageData;\r\n }\r\n\r\n @action\r\n async filterSearchItemResults() {\r\n const searchItemPageResults = (await this.searchItemPagePromise).results;\r\n\r\n const results = await vmx.blacklist.filterSearchItemList(searchItemPageResults);\r\n\r\n if (results.length == 0) {\r\n this.search();\r\n return;\r\n }\r\n\r\n this.searchItemPageData = {\r\n ...this.searchItemPageData,\r\n results,\r\n };\r\n }\r\n\r\n get getInitialAgent(): () => Agent {\r\n // const allowUnusedCriterionTypes = vmx.criterion.criterionTypes?.map(criterionType => criterionType.id) ?? [];\r\n return () => ({\r\n id: null,\r\n name: '',\r\n type: SearchItemTypes.PROJECT,\r\n freeSearch: '',\r\n freeSearchType: FreeSearchTypes.NORMAL,\r\n criteria: [],\r\n roles: [],\r\n minBudget: null,\r\n maxBudget: null,\r\n minSizeBuilding: null,\r\n minSizeGround: null,\r\n minSizeMetres: null,\r\n maxSizeBuilding: null,\r\n maxSizeGround: null,\r\n maxSizeMetres: null,\r\n minNumberOfUnits: null,\r\n maxNumberOfUnits: null,\r\n projectStart: [],\r\n projectEnd: [],\r\n isPublic: null,\r\n allowUnusedCriterionTypes: [],\r\n procurementPhases: [],\r\n procurementTypes: [],\r\n projectPhases: [],\r\n allowUnspecifiedSize: true,\r\n allowUnspecifiedBudget: true,\r\n allowUnspecifiedStartAndEnd: true,\r\n mailTime: MailTime.Daily,\r\n isProcurement: vmx.user.user?.product?.basic ?? false,\r\n paUserIds: [],\r\n newResultsDaily: null,\r\n newResultsMonthly: null,\r\n });\r\n }\r\n\r\n get canResetAgent(): boolean {\r\n if (this.agent == null) {\r\n return false;\r\n }\r\n \r\n const checkOther = (agent: Agent) => {\r\n agent.isProcurement = !agent.isProcurement;\r\n return JSON.stringify(agent) !== JSON.stringify(this.getInitialAgent());\r\n }\r\n\r\n const agentCopy = {...this.agent};\r\n\r\n agentCopy.freeSearchType = FreeSearchTypes.NORMAL;\r\n\r\n return JSON.stringify(agentCopy) !== JSON.stringify(this.getInitialAgent()) && checkOther(agentCopy);\r\n }\r\n\r\n @action\r\n async resetPage() {\r\n await this.search();\r\n }\r\n\r\n @action\r\n private async search() {\r\n const orderByDesc = this.orderByDesc ? 'DESC' : 'ASC';\r\n const orderByQuary =\r\n this.orderBy == null\r\n ? null\r\n : `${this.orderBy}${orderByDesc}`;\r\n\r\n this.searchItemPageData = {\r\n ...this.searchItemPageData,\r\n results: null,\r\n };\r\n\r\n if (this.debouncer != null) {\r\n clearTimeout(this.debouncer);\r\n }\r\n\r\n this.debouncer = setTimeout(async () => {\r\n this.searchItemPagePromise = agentService.search(\r\n this.agent,\r\n (this.page - 1) * this.limit,\r\n this.limit,\r\n orderByQuary,\r\n );\r\n\r\n await this.searchItemPagePromise;\r\n const networkDebounce = Promise.race([\r\n this.searchItemPagePromise.then(() => true),\r\n Promise.resolve(false),\r\n ]);\r\n\r\n if (networkDebounce) {\r\n this.searchItemPageData = await this.searchItemPagePromise;\r\n }\r\n\r\n this.searchItemNextPagePromise = agentService.search(\r\n this.agent,\r\n this.page * this.limit,\r\n this.limit,\r\n orderByQuary,\r\n );\r\n\r\n this.searchItemPageData = await this.searchItemPagePromise;\r\n }, 500);\r\n\r\n // await this.searchItemPagePromise;\r\n // this.searchItemPageData = await Promise.race([\r\n // this.searchItemPagePromise,\r\n // Promise.resolve(null),\r\n // ]);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"access-expired-view px-4\"},[_c('div',{staticClass:\"row gy-5\"},[_c('div',{staticClass:\"col-12\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('pages.accessExpired.title' ))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('pages.accessExpired.text' ))}})]),_c('div',{ref:\"contactContainer\",staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('FormBookDemo',{attrs:{\"title\":_vm.$t('pages.accessExpired.bookdemo'),\"text\":_vm.$t('pages.accessExpired.bookdemoText'),\"mode\":\"customer\"}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"text-center\"},[_c('h2',[_vm._v(_vm._s(_vm.title != null ? _vm.title : _vm.$t('components.forms.bookDemoForm.title')))]),(_vm.text != '')?_c('div',[_vm._v(\" \"+_vm._s(_vm.text)+\" \")]):_vm._e()]),(_vm.bookDemoUrl)?_c('div',{staticClass:\"row justify-content-center\",style:({ height: _vm.height })},[_c('iframe',{attrs:{\"src\":_vm.bookDemoUrl}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Domain } from '@/interfaces/domain';\r\n\r\n\r\n@Component({})\r\nexport default class FormBookDemo extends Vue {\r\n @Prop({ default: null }) title: string;\r\n @Prop({ default: '' }) text: string;\r\n @Prop({ default: '80vh' }) height: string;\r\n @Prop({ default: 'bookdemo' }) mode: 'bookdemo' | 'customer';\r\n\r\n get bookDemoUrl() {\r\n const domain: Domain = this.$vmx.domain.domain;\r\n const url = this.mode == 'bookdemo' ? domain.calendlyBookdemo : domain.calendlyCustomer;\r\n\r\n return url ? url\r\n + '?embed_domain=app.projektagenten'\r\n +'&embed_type=PopupText'\r\n +'&hide_event_type_details=1'\r\n +'&hide_gdpr_banner=0'\r\n +'&primary_color=007FAD'\r\n : null\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-book-demo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-book-demo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-book-demo.vue?vue&type=template&id=0b801dc8&\"\nimport script from \"./form-book-demo.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-book-demo.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\r\n\r\n@Component({\r\n components: {\r\n FormBookDemo,\r\n },\r\n})\r\nexport default class AccessExpiredView extends Vue {\r\n @Ref() contactContainer: HTMLDivElement;\r\n\r\n scrollToContact() {\r\n if (this.contactContainer) {\r\n this.contactContainer.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./access-expired-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./access-expired-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./access-expired-view.vue?vue&type=template&id=5dd8ab72&\"\nimport script from \"./access-expired-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./access-expired-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./access-expired-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"activate-view row justify-content-center bg-background gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('pages.activate.title'))+\" \")])]),_c('div',{staticClass:\"col-12 col-xl-8\"},[_c('FormChangePassword',{attrs:{\"token\":_vm.activateToken,\"new-user\":true}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"change-password-form\"},[(_vm.passwordSaved && !_vm.$vmx.session.isLoggedIn)?_c('FormLogin',{attrs:{\"background-color\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"3\",\"padding-y\":\"3\",\"center-header\":true,\"body-text\":_vm.$t('components.forms.changePassword.saved')}}):_c('AbstractForm',{ref:\"abstractForm\",attrs:{\"background\":_vm.backgroundColor,\"needs-validation\":true,\"text-color\":\"dark\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"pt-4 d-flex justify-content-end\"},[(_vm.savingError)?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.changePassword.error'))+\" \")]):(_vm.passwordSaved)?_c('BaseAlert',{attrs:{\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.changePassword.saved'))+\" \")]):_c('BaseButton',{ref:\"submitButton\",attrs:{\"disabled\":_vm.passwordSaved,\"type\":\"submit\",\"variant\":\"cta\",\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.changePassword.saveButton'))+\" \")])],1)]},proxy:true}])},[_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\"},[_c('p',[_vm._v(_vm._s(_vm.$t('pages.changePassword.text')))])]),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputPassword\",attrs:{\"id\":\"input-password\",\"type\":\"password\",\"live-validate\":\"onlyOnInvalid\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.newPassword.placeholder'),\"invalid-text\":_vm.$t('components.inputField.newPassword.invalid')},model:{value:(_vm.password1),callback:function ($$v) {_vm.password1=$$v},expression:\"password1\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputPasswordAgain\",attrs:{\"id\":\"input-password-again\",\"type\":\"password\",\"skip-normal-validation\":true,\"validator\":_vm.isValidSecondPassword,\"live-validate\":\"onlyOnInvalid\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.newPasswordAgain.placeholder'),\"invalid-text\":_vm.$t('components.inputField.newPasswordAgain.invalid')},model:{value:(_vm.password2),callback:function ($$v) {_vm.password2=$$v},expression:\"password2\"}})],1)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"abstract-form h-100\"},[_c('form',{ref:\"inputForm\",class:_vm.formStyleClasses,on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.submitEvent.apply(null, arguments)}}},[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")]}),_c('div',{staticClass:\"pt-3\"},[_vm._t(\"button\",function(){return [_c('div',{staticClass:\"pt-3 d-flex justify-content-end\"},[_c('BaseButton',{ref:\"submitButton\",attrs:{\"type\":\"submit\",\"variant\":\"cta\",\"with-spinner\":false}},[_vm._v(\" \"+_vm._s(_vm.submitButtonText ? _vm.submitButtonText : _vm.$t('general.confirm'))+\" \")])],1)]})],2)],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AbstractForm extends Vue {\r\n @Prop({ default: false }) needsValidation: boolean;\r\n @Prop({ default: 5 }) gutterX: number;\r\n @Prop({ default: 3 }) gutterY: number;\r\n @Prop({ default: 'trademark'}) background: string;\r\n @Prop({ default: 'white'}) textColor: string;\r\n @Prop() styleClasses: string;\r\n @Prop({ default: '5' }) paddingX: string;\r\n @Prop({ default: '5' }) paddingY: string;\r\n @Prop() submitButtonText: string;\r\n @Prop({ default: false }) isModal: boolean;\r\n @Prop({ default: null }) onSubmit: () => void;\r\n @Ref() inputForm: HTMLFormElement;\r\n\r\n get formStyleClasses() {\r\n return [\r\n `bg-${this.background}`,\r\n this.needsValidation ? 'needs-validation' : '',\r\n `px-${this.paddingX}`,\r\n `py-${this.paddingY}`,\r\n `text-${this.textColor}`,\r\n this.styleClasses,\r\n ]\r\n }\r\n\r\n public setValidated(wasValidated: boolean) {\r\n if (wasValidated) {\r\n this.inputForm.classList.add('was-validated');\r\n } else {\r\n this.inputForm.classList.remove('was-validated');\r\n }\r\n }\r\n\r\n submitEvent(event: Event) {\r\n if (!this.needsValidation || this.inputForm.checkValidity()) {\r\n this.$emit('submit');\r\n }\r\n if (this.needsValidation) {\r\n this.inputForm.classList.add('was-validated');\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./abstract-form.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./abstract-form.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./abstract-form.vue?vue&type=template&id=a15a0e30&scoped=true&\"\nimport script from \"./abstract-form.vue?vue&type=script&lang=ts&\"\nexport * from \"./abstract-form.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a15a0e30\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-login h-100 w-100\"},[(!_vm.showForgotPassword)?_c('AbstractForm',{attrs:{\"padding-x\":_vm.paddingX,\"padding-y\":_vm.paddingY,\"background\":_vm.backgroundColor,\"text-color\":_vm.textColor,\"style-classes\":\"d-flex flex-column justify-content-between h-100\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"col-12 pt-3 d-flex justify-content-center\"},[_c('BaseButton',{ref:\"button\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"style-classes\":\"w-100\",\"on-click-cb\":_vm.login}},[_vm._v(\" \"+_vm._s(_vm.$t('components.login.loginButton'))+\" \")])],1)]},proxy:true}],null,false,949697376)},[_vm._t(\"default\"),_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\",class:[ _vm.centerHeader ? 'text-center' : '' ]},[_c('h2',{class:[(\"text-\" + _vm.textColor)]},[_vm._v(\" \"+_vm._s(_vm.$t('components.login.title'))+\" \")]),(_vm.bodyText)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.bodyText)}}):_vm._e()]),(_vm.showError)?_c('div',{staticClass:\"col-12 pt-1\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.unauthorized ? 'components.login.unauthorized' : 'components.login.error'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputName\",attrs:{\"id\":\"input-username\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.email.placeholder'),\"invalid-text\":_vm.$t('components.inputField.email.invalid')},model:{value:(_vm.loginDetails.username),callback:function ($$v) {_vm.$set(_vm.loginDetails, \"username\", $$v)},expression:\"loginDetails.username\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputPassword\",attrs:{\"id\":\"input-password\",\"type\":\"password\",\"required\":true,\"skip-normal-validation\":true,\"placeholder\":_vm.$t('components.inputField.password.placeholder'),\"invalid-text\":_vm.$t('components.inputField.password.invalid')},model:{value:(_vm.loginDetails.password),callback:function ($$v) {_vm.$set(_vm.loginDetails, \"password\", $$v)},expression:\"loginDetails.password\"}})],1),_c('div',{staticClass:\"col-12 d-flex justify-content-between align-items-center\"},[_c('BaseInputCheckbox',{attrs:{\"text\":_vm.$t('components.login.rememberMe')},model:{value:(_vm.loginDetails.rememberMe),callback:function ($$v) {_vm.$set(_vm.loginDetails, \"rememberMe\", $$v)},expression:\"loginDetails.rememberMe\"}}),_c('span',{staticClass:\"clickable text-decoration-underline roboto-xs\",on:{\"click\":function($event){_vm.showForgotPassword = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.login.forgotten.link'))+\" \")])],1)])],2):_c('div',[_c('div',{staticClass:\"d-flex\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"arrow-left\",\"variant\":\"white\"},on:{\"click\":function($event){_vm.showForgotPassword = false}}})],1),_c('AbstractForm',{attrs:{\"padding-x\":_vm.paddingX,\"padding-y\":_vm.paddingY,\"background\":_vm.backgroundColor,\"style-classes\":\"d-flex flex-column justify-content-between h-100\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"col-12 pt-3 d-flex justify-content-center\"},[_c('BaseButton',{ref:\"button\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"on-click-cb\":_vm.sendResetEmail}},[_vm._v(\" \"+_vm._s(_vm.$t('components.login.forgotten.restorePassword'))+\" \")])],1)]},proxy:true}])},[_c('div',{staticClass:\"row gy-3\"},[_c('h2',{staticClass:\"col-12 pb-1 text-center\",class:[(\"text-\" + _vm.textColor)]},[_vm._v(\" \"+_vm._s(_vm.$t('components.login.forgotten.title'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputEmail\",attrs:{\"type\":\"email\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.email.placeholder'),\"invalid-text\":_vm.$t('components.inputField.email.invalid')},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1),_c('BaseAlert',{attrs:{\"type\":_vm.alertType}},[_vm._v(\" \"+_vm._s(_vm.alertMessage)+\" \")])],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport { User } from '@/interfaces/user';\r\n\r\nconst api = '/pa-users';\r\n\r\nexport class UserService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n async getUser(): Promise {\r\n if (this.getToken() == null || this.getToken().length == 0) {\r\n return null;\r\n }\r\n\r\n const response = await this.get(api);\r\n if (ResponseCodes.is2xx(response.status)) {\r\n return response.data;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public putUser = async (user: User): Promise => {\r\n const response = await this.put(api, user);\r\n return this.getResponse(response);\r\n };\r\n\r\n public updateEmail = async (newEmail: string, code: string): Promise => {\r\n const body = {\r\n newEmail: newEmail,\r\n code: code,\r\n };\r\n const response = await this.put(api + '/updateEmail', body);\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendResetPasswordEmail = async (email: string): Promise => {\r\n const config = {\r\n params: { email: email },\r\n };\r\n const response = await this.post(api + '/passwordReset', null, config);\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendChangePasswordEmail = async (): Promise => {\r\n const response = await this.post(api + '/newPassword');\r\n return this.getResponse(response);\r\n };\r\n\r\n public changePassword = async (newPassword: string, resetToken: string): Promise => {\r\n const body = {\r\n newPassword: newPassword,\r\n token: resetToken,\r\n };\r\n const response = await this.put(api + '/changePassword', body);\r\n return this.getResponse(response);\r\n };\r\n\r\n public activateUser = async (newPassword: string, loginToken: string): Promise => {\r\n const body = {\r\n newPassword: newPassword,\r\n token: loginToken,\r\n };\r\n const response = await this.put(api + '/activate', body);\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendRequestSubscription = async (\r\n name: string,\r\n phone: string,\r\n email: string,\r\n ): Promise => {\r\n const body = { name: name, phone: phone, email: email };\r\n const response = await this.post(api + '/requestSubscription', body);\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendChangeSubscription = async (newSubscription: string): Promise => {\r\n const response = await this.post(api + '/changeSubscription/' + newSubscription);\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendCancelSubscription = async (): Promise => {\r\n const response = await this.post(api + '/cancelSubscription');\r\n return this.getResponse(response);\r\n };\r\n\r\n public sendBookDemo = async (\r\n name: string,\r\n phone: string,\r\n email: string,\r\n companyName: string,\r\n date: string,\r\n ): Promise => {\r\n const body = { name: name, phone: phone, email: email, date: date, companyName: companyName };\r\n const response = await this.post(api + '/bookDemo', body);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getUsersInCompany = async (): Promise => {\r\n const response = await this.get(`${api}/company`);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const userService = new UserService(apiConfig);\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport { ContactInfo } from '@/interfaces/non-entities/contact-info';\r\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { userService } from '@/services/restapi/user-service';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n },\r\n})\r\nexport default class FormLogin extends Vue {\r\n @Prop() contactInfo: ContactInfo\r\n @Prop({ default: null }) onSubmit: () => Promise;\r\n @Prop({ default: 'white '}) textColor: string;\r\n @Prop() backgroundColor: string;\r\n @Prop({ default: '5' }) paddingX: string;\r\n @Prop({ default: '5' }) paddingY: string;\r\n @Prop({ default: RouterNames.LOGGED_IN_DASHBOARD }) redirect: RouterNames | null;\r\n @Prop() bodyText: string;\r\n @Prop({ default: false }) centerHeader: boolean;\r\n\r\n @Ref() inputName: BaseInputField;\r\n @Ref() inputPassword: BaseInputField;\r\n @Ref() inputEmail: BaseInputField;\r\n\r\n loginDetails: LoginDetails = {\r\n username: '',\r\n password: '',\r\n rememberMe: false,\r\n };\r\n\r\n email = '';\r\n unauthorized = false;\r\n showError = false;\r\n showForgotPassword = false;\r\n mailSent = false;\r\n mailError = false;\r\n\r\n mounted() {\r\n // this.loginDetails.redirect = this.redirect;\r\n }\r\n\r\n get alertType(): string {\r\n if (this.mailSent) {\r\n return 'success';\r\n } else if (this.mailError) {\r\n return 'danger'\r\n }\r\n return 'primary';\r\n }\r\n\r\n get alertMessage(): string {\r\n if (this.mailSent) {\r\n return this.$t('components.login.forgotten.success') as string;\r\n } else if (this.mailError) {\r\n return this.$t('components.login.error') as string;\r\n }\r\n return this.$t('components.login.forgotten.text') as string;\r\n }\r\n\r\n get formIsValid(): boolean {\r\n let isValid = this.inputName.validate();\r\n isValid = this.inputPassword.validate() && isValid;\r\n return isValid;\r\n }\r\n\r\n async login() {\r\n if (this.formIsValid) {\r\n try {\r\n await this.$vmx.session.loginIn(this.loginDetails);\r\n this.unauthorized = false;\r\n this.showError = false;\r\n\r\n if (this.redirect != null) {\r\n this.$router.push({ name: this.redirect })\r\n }\r\n } catch (errorCode) {\r\n this.showError = true;\r\n if (errorCode !== ResponseCodes.INTERNAL_SERVER_ERROR) {\r\n this.unauthorized = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n async sendResetEmail() {\r\n if (this.inputEmail.validate()) {\r\n userService.sendResetPasswordEmail(this.email).then(\r\n () => { // success\r\n this.mailSent = true;\r\n this.mailError = false;\r\n },\r\n () => { // error\r\n this.mailSent = false;\r\n this.mailError = true;\r\n },\r\n );\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-login.vue?vue&type=template&id=4ee070fb&\"\nimport script from \"./form-login.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-login.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport FormLogin from '@/components/forms/form-login.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { userService } from '@/services/restapi/user-service';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n FormLogin,\r\n },\r\n})\r\nexport default class FormChangePassword extends Vue {\r\n @Prop({required: true}) token: string;\r\n @Prop({ default: false }) newUser: boolean;\r\n @Prop({ default: 'white' }) backgroundColor: string;\r\n\r\n @Ref() inputPassword: BaseInputField;\r\n @Ref() inputPasswordAgain: BaseInputField;\r\n @Ref() abstractForm: AbstractForm;\r\n\r\n password1 = '';\r\n password2 = '';\r\n passwordSaved = false;\r\n savingError = false;\r\n\r\n formIsValid(): boolean {\r\n let isValid = this.inputPassword.validate();\r\n isValid = this.inputPasswordAgain.validate() && isValid;\r\n return isValid;\r\n }\r\n\r\n isValidSecondPassword (val: string): boolean {\r\n return val === this.password1;\r\n }\r\n\r\n async submit() {\r\n this.abstractForm.setValidated(true);\r\n if (this.formIsValid()) {\r\n this.savingError = false;\r\n if (this.newUser) {\r\n userService.activateUser(this.password1, this.token).then(() => {\r\n this.passwordSaved = true;\r\n if (this.$vmx.session.isLoggedIn) {\r\n globalFunctions.timeout(2000).then(() => {\r\n this.$router.push('/');\r\n })\r\n }\r\n }).catch((reason) => {\r\n this.savingError = true;\r\n });\r\n } else {\r\n userService.changePassword(this.password1, this.token).then(() => {\r\n this.passwordSaved = true;\r\n if (this.$vmx.session.isLoggedIn) {\r\n globalFunctions.timeout(2000).then(() => {\r\n this.$router.push('/');\r\n })\r\n }\r\n }).catch((reason) => {\r\n this.savingError = true;\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-change-password.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-change-password.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-change-password.vue?vue&type=template&id=2fdf6bba&scoped=true&\"\nimport script from \"./form-change-password.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-change-password.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./form-change-password.vue?vue&type=style&index=0&id=2fdf6bba&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fdf6bba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar navbar-expand-md navbar-dark bg-trademark py-3\"},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"navbar-brand\"},[_c('BaseLogo',{attrs:{\"logged-in\":true}})],1),_c('BaseButtonIcon',{attrs:{\"style-classes\":\"navbar-toggler\",\"bs-toggle\":\"collapse\",\"bs-target\":\"#header-content\",\"icon-name\":\"bars\",\"size\":\"lg\",\"icon-size\":\"lg\",\"rounded\":\"true\",\"variant\":\"trademark\"}}),_c('div',{staticClass:\"collapse navbar-collapse pt-4 pt-md-0 ps-md-3\",attrs:{\"id\":\"header-content\"}},[(_vm.isLoggedIn)?_c('div',{staticClass:\"d-flex flex-column flex-md-row flex-grow-1 align-items-center\"},_vm._l((_vm.navbarLocations),function(navlocation){return _c('div',{key:navlocation.title},[_c('div',{staticClass:\"navbar-nav\"},[_c('router-link',{staticClass:\"menu-bar-item nav-link mx-2\",class:{ active: navlocation.location.name === _vm.routeName },attrs:{\"to\":navlocation.location}},[_vm._v(\" \"+_vm._s(_vm.$t(navlocation.title))+\" \")])],1)])}),0):_c('div',{staticClass:\"d-flex flex-column flex-md-row flex-grow-1 align-items-center\"}),(_vm.isLoggedIn)?_c('div',[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"question\",\"type\":\"fas\",\"size\":\"lg\",\"icon-size\":\"1x\",\"tool-tip-text\":_vm.$t('components.header.helpTooltip'),\"tooltip-placement\":\"bottom\",\"route-params\":{ name: _vm.routeHelp },\"style-classes\":['mx-2']}})],1):_vm._e(),(_vm.isLoggedIn || _vm.viewDefaultLogin)?_c('div',[_c('DropdownProfile',{attrs:{\"bs-auto-close\":\"outside\"}},[_vm._t(\"dropdownProfileDropdown\",function(){return [_c('DropdownProfileContent')]})],2)],1):(_vm.isLimitedAccess)?_c('div',[_c('DropdownProfile',{attrs:{\"bs-auto-close\":\"outside\"}},[_vm._t(\"dropdownProfileDropdown\",function(){return [_c('DropdownProfileLimitedContent',{attrs:{\"change-to-login\":_vm.changeToLogin}})]})],2)],1):_c('div',[_c('DropdownDomain')],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{staticClass:\"align-self-center\",attrs:{\"to\":{ name: _vm.link }}},[_c('img',{staticClass:\"img-fluid logo\",class:_vm.logoClasses,attrs:{\"src\":_vm.getLogo()}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component\r\nexport default class BaseLogo extends Vue {\r\n @Prop({default: '250px'}) width: string;\r\n @Prop({ default: false }) loggedIn: boolean;\r\n @Prop({default: false, type: Boolean}) black: boolean;\r\n\r\n get link (): RouterNames {\r\n return RouterNames.LOGGED_IN_DASHBOARD;\r\n\r\n }\r\n\r\n get logoClasses() {\r\n return {\r\n 'logged-in': this.loggedIn,\r\n 'inverted': this.black,\r\n }\r\n }\r\n\r\n getLogo() {\r\n const logo = this.$vmx.domain.domain.logo;\r\n return this.$vmx.file.fromFile(logo ? `${logo.code}.${logo.extension}` : 'project-agent/logo-210x50_dk.svg')\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-logo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-logo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-logo.vue?vue&type=template&id=e00700d2&scoped=true&\"\nimport script from \"./base-logo.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-logo.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-logo.vue?vue&type=style&index=0&id=e00700d2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e00700d2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseButtonIcon',{attrs:{\"button-id\":\"dropdownDomainMenuButton\",\"icon-name\":\"globe\",\"size\":\"lg\",\"icon-size\":\"1x\",\"tool-tip-text\":_vm.$t('components.header.countrySelectorTooltip'),\"tooltip-placement\":\"bottom\",\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"true\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"aria-labelledby\":\"login-dropdown-button\",\"data-bs-auto-close\":\"true\"}},[_c('li',{staticClass:\"dropdown-header\"},[_c('h4',{staticClass:\"pb-2 text-black\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.countrySelectorTitle'))+\" \")])]),_vm._l((_vm.getDomains()),function(domain){return _c('li',{key:domain.id,staticClass:\"dropdown-item clickable\",class:_vm.isActive(domain) ? 'active' : '',on:{\"click\":function($event){return _vm.onClick(domain)}}},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"rounded-circle flag-sizing\",style:(_vm.getDomainSVG(domain.tld))}),_c('div',{staticClass:\"ps-3\",class:_vm.isActive(domain) ? 'text-white' : 'text-black'},[_vm._v(\" \"+_vm._s(domain.nativeCountryName)+\" \")])])])})],2)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { chooseDomain } from '@/util/domain-utils';\r\nimport { Domain } from '@/interfaces/domain';\r\n\r\n@Component({})\r\nexport default class DropdownDomain extends Vue {\r\n getDomains(): Domain[] {\r\n return (this.$vmx.domain.domains as Domain[])\r\n .sort((domain1, domain2) => domain1.name.localeCompare(domain2.name));\r\n }\r\n\r\n getDomainSVG(tld: string) {\r\n return {\r\n backgroundImage: `url('${require('@/assets/flags/' + tld + '.svg')}')`,\r\n backgroundSize: 'cover',\r\n backgroundRepeat: 'no-repeat',\r\n }\r\n }\r\n\r\n isActive(domain: Domain): boolean {\r\n return domain.id === (this.$vmx.domain.domain as Domain).id;\r\n }\r\n\r\n getUrl(domain: Domain): string {\r\n if (location.host.split(':')[0] === 'localhost') {\r\n return `https://www.${domain.sld}.${domain.tld}`;\r\n }\r\n const [ root, ...bla] = location.host.split('.');\r\n return `https://${root}.${domain.sld}.${domain.tld}`;\r\n }\r\n\r\n onClick(domain: Domain) {\r\n chooseDomain(domain)\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-domain.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-domain.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-domain.vue?vue&type=template&id=4be50c41&scoped=true&\"\nimport script from \"./dropdown-domain.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-domain.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-domain.vue?vue&type=style&index=0&id=4be50c41&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4be50c41\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logout-dropdown\"},[_c('div',{staticClass:\"dropdown\"},[_c('BaseButtonIcon',{attrs:{\"button-id\":\"logout-dropdown-button\",\"icon-name\":\"user\",\"size\":\"lg\",\"icon-size\":\"1x\",\"tool-tip-text\":_vm.$t('components.header.profileTooltip'),\"tooltip-placement\":\"bottom\",\"bs-toggle\":\"dropdown\",\"bs-auto-close\":_vm.bsAutoClose},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('div',{staticClass:\"dropdown-menu dropdown-menu-end\",attrs:{\"aria-labelledby\":\"logout-dropdown-button\"},on:{\"mouseover\":function($event){$event.stopPropagation();}}},[_vm._t(\"default\")],2)]},proxy:true}],null,true)})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid bg-white px-4 py-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.header.profileDropdown.title').toUpperCase())+\" \")]),(_vm.$vmx.user.user)?_c('div',{staticClass:\"fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$vmx.user.user.name)+\" \")]):_vm._e(),(_vm.$vmx.user.user)?_c('p',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.$vmx.user.user.mail)+\" \")]):_vm._e(),_c('p',[_c('router-link',{attrs:{\"to\":{ name: _vm.routeUserSettings }}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.profileDropdown.accountSettingsLink'))+\" \")])],1),_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.cookie_policy')}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.profileDropdown.gdprLink'))+\" \")])])]),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"id\":\"logout-button\",\"style-classes\":\"w-100\",\"on-click-cb\":_vm.logout}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.profileDropdown.logoutButton'))+\" \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component\r\nexport default class DropdownProfileContent extends Vue {\r\n\r\n get routeUserSettings(): string {\r\n return RouterNames.LOGGED_IN_USER_SETTINGS;\r\n }\r\n\r\n async logout() {\r\n // this.$ga.set('dimension1', null);\r\n // this.$gtag.customMap({ 'dimension1': null });\r\n // authService.logout();\r\n this.$vmx.session.loginOut();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-content.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-content.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-profile-content.vue?vue&type=template&id=7ae392ba&scoped=true&\"\nimport script from \"./dropdown-profile-content.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-profile-content.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-profile-content.vue?vue&type=style&index=0&id=7ae392ba&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ae392ba\",\n null\n \n)\n\nexport default component.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\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport DropdownProfileContent from '@/components/dropdowns/dropdown-profile-content.vue';\r\n\r\n@Component({\r\n components: {\r\n DropdownProfileContent,\r\n },\r\n})\r\nexport default class DropdownProfile extends Vue {\r\n @Prop({ default: 'true' }) bsAutoClose: string;\r\n\r\n canBeClosed = false;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-profile.vue?vue&type=template&id=962b985c&scoped=true&\"\nimport script from \"./dropdown-profile.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-profile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-profile.vue?vue&type=style&index=0&id=962b985c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"962b985c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid bg-white px-4 py-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.header.limitedDropdown.title'))+\" \")]),(_vm.name)?_c('div',{staticClass:\"fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.name)+\" \")]):_vm._e(),(_vm.mail)?_c('p',{staticClass:\"caption\"},[_vm._v(\" \"+_vm._s(_vm.mail)+\" \")]):_vm._e(),_c('p',{staticClass:\"font-italic\"},[_vm._v(\" \"+_vm._s(_vm.$tc('components.header.limitedDropdown.viewsLeft', _vm.views, [ _vm.views ]))+\" \")]),_c('p',[_c('a',{staticClass:\"clickable\",on:{\"click\":_vm.changeToLogin}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.limitedDropdown.loginLink'))+\" \")])]),_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.cookie_policy')}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.limitedDropdown.gdprLink'))+\" \")])]),_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.bookdemo')}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.limitedDropdown.bookDemoButton'))+\" \")])]),_c('p',[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.prices')}},[_vm._v(\" \"+_vm._s(_vm.$t('components.header.limitedDropdown.buy'))+\" \")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component\r\nexport default class DropdownProfileLimitedContent extends Vue {\r\n @Prop({ required: true }) changeToLogin: () => void;\r\n\r\n get name() {\r\n return this.$vmx.limitedAccess.limitedAccess.name;\r\n }\r\n\r\n get mail() {\r\n return this.$vmx.limitedAccess.limitedAccess.mail;\r\n }\r\n\r\n get views() {\r\n return this.$vmx.limitedAccess.limitedAccess.views;\r\n }\r\n\r\n get routeCookiePolicy(): string {\r\n return null;\r\n }\r\n\r\n get routeUserSettings(): string {\r\n return RouterNames.LOGGED_IN_USER_SETTINGS;\r\n }\r\n\r\n async logout() {\r\n // this.$ga.set('dimension1', null);\r\n // this.$gtag.customMap({ 'dimension1': null });\r\n // authService.logout();\r\n this.$vmx.session.loginOut();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-limited-content.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-profile-limited-content.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-profile-limited-content.vue?vue&type=template&id=406bab14&scoped=true&\"\nimport script from \"./dropdown-profile-limited-content.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-profile-limited-content.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-profile-limited-content.vue?vue&type=style&index=0&id=406bab14&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"406bab14\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BaseLogo from '@/components/buttons/base-logo.vue';\r\nimport DropdownDomain from '@/components/dropdowns/dropdown-domain.vue';\r\nimport DropdownProfile from '@/components/dropdowns/dropdown-profile.vue';\r\nimport DropdownProfileContent from '@/components/dropdowns/dropdown-profile-content.vue';\r\nimport DropdownProfileLimitedContent from '@/components/dropdowns/dropdown-profile-limited-content.vue';\r\nimport FormLogin from '@/components/forms/form-login.vue';\r\nimport { Location } from 'vue-router';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { RoutingButton } from '@/interfaces/non-entities/routing-button';\r\n\r\n@Component({\r\n components: {\r\n FormLogin,\r\n DropdownProfileContent,\r\n DropdownProfileLimitedContent,\r\n BaseLogo,\r\n DropdownProfile,\r\n DropdownDomain,\r\n },\r\n})\r\nexport default class TheHeader extends Vue {\r\n showLogin = false;\r\n viewDefaultLogin = false;\r\n\r\n routeName: string = this.$router.currentRoute.name;\r\n\r\n readonly routeHelp = RouterNames.LOGGED_IN_HELP;\r\n\r\n mounted() {\r\n this.$router.beforeEach((to, from, next) => {\r\n this.routeName = to.name;\r\n next();\r\n });\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n return this.$vmx.user.user?.id != null;\r\n // return this.$vmx.session.isLoggedinUser;\r\n }\r\n\r\n get isLimitedAccess(): boolean {\r\n return !this.isLoggedIn && this.$vmx.session.isLoggedInLimitedAccess && this.$route.name === RouterNames.LOGGED_IN_PROJECT_VIEW;\r\n }\r\n\r\n navbarLocations: { title: string, location: Location }[] = [\r\n {\r\n title: 'pages.dashboard.title',\r\n location: {\r\n name: RouterNames.LOGGED_IN_DASHBOARD,\r\n },\r\n },\r\n {\r\n title: 'pages.blacklist.title',\r\n location: {\r\n name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\r\n },\r\n },\r\n {\r\n title: 'pages.search.title',\r\n location: {\r\n name: RouterNames.LOGGED_IN_SEARCH,\r\n params: { page: '0' },\r\n },\r\n },\r\n {\r\n title: 'pages.companySearch.title',\r\n location: {\r\n name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\r\n },\r\n },\r\n ];\r\n\r\n changeToLogin() {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD })\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-header.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-header.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./the-header.vue?vue&type=template&id=be81696a&scoped=true&\"\nimport script from \"./the-header.vue?vue&type=script&lang=ts&\"\nexport * from \"./the-header.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./the-header.vue?vue&type=style&index=0&id=be81696a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"be81696a\",\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport FormChangePassword from '@/components/forms/form-change-password.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n@Component({\r\n components: {\r\n FormChangePassword,\r\n TheHeader,\r\n },\r\n})\r\nexport default class ActivateView extends Vue {\r\n @Prop({ required: true }) activateToken: string;\r\n\r\n getBackground(fileName: string) {\r\n return 'url(' + this.$vmx.file.fromFile('project-agent/backgrounds/' + fileName) + ')';\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./activate-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./activate-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./activate-view.vue?vue&type=template&id=6f7270d2&\"\nimport script from \"./activate-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./activate-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./activate-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('BaseLoadingSpinner',{attrs:{\"size\":\"6rem\",\"border-size\":\".75rem\"}}):_c('div',[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h1',{domProps:{\"textContent\":_vm._s(_vm.$t('pages.blacklist.title'))}}),_c('div',[_c('BaseButton',{attrs:{\"variant\":\"cta\"},on:{\"click\":function($event){return _vm.openModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.blacklist.cleanup'))+\" \")])],1)]),_c('SmallListLayout',{attrs:{\"empty-list-text\":_vm.emptyListText,\"on-filter-text\":_vm.onFilterText,\"on-order-by\":_vm.onOrderBy,\"on-list-view\":_vm.onListView}},[(_vm.listView)?_c('SearchItemsListView',{staticClass:\"mt-4\",attrs:{\"hide-related-procurements\":\"\",\"search-items\":_vm.itemResults,\"show-notes\":true,\"filter-func\":_vm.filterFunc,\"color-shared-blacklist\":true},on:{\"blacklistRemoved\":_vm.blacklistRemoved}}):_c('div',{staticClass:\"row g-4\"},_vm._l((_vm.itemResults),function(item){return _c('div',{key:item.id,staticClass:\"col-12 col-xl-6\"},[_c('ListItemCard',{attrs:{\"list-item\":item}})],1)}),0),_c('div',[_vm._v(\" \"+_vm._s(_vm.itemResults.length)+\" / \"+_vm._s(_vm.allResults.length)+\" \")]),(_vm.showAddtoLimit)?_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){return _vm.addToLimit()}}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")]),_c('div',{staticClass:\"text-center\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'chevron-double-down'],\"size\":\"1x\"}})],1)])]):_vm._e()],1)],1),_c('BaseModalContainer',{attrs:{\"modal-id\":_vm.cleanupModalId},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.blacklist.cleanup'))+\" \")]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.blacklist.cleanupText'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_c('BaseInputCheckbox',{attrs:{\"text\":_vm.$t('pages.blacklist.cleanupAll')},model:{value:(_vm.cleanForAll),callback:function ($$v) {_vm.cleanForAll=$$v},expression:\"cleanForAll\"}})],1),(_vm.cleanupError)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.error'))+\" \")])],1):_vm._e()]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.cleanupBlacklist}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Blacklist } from '@/interfaces/blacklist';\r\nimport { globalFunctions } from './global-functions';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport { User } from '@/interfaces/user';\r\n\r\nexport function isItemInBlacklists(item: Procurement | Project, blacklits: Blacklist[]) {\r\n const isProcurement = globalFunctions.isProcurement(item);\r\n return blacklits.some(\r\n (blacklist) => item.id == ((isProcurement && blacklist.procurementId) || blacklist.projectId),\r\n );\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal\",class:{ fade: _vm.fade },attrs:{\"id\":_vm.modalId,\"data-bs-backdrop\":_vm.bsBackdrop,\"tab-index\":\"-1\",\"aria-labelledby\":(_vm.modalId + \"Label\"),\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\",class:_vm.modalClasses},[_c('div',{staticClass:\"modal-content bg-transparent border-0\"},[_c('div',{staticClass:\"modal-body p-0\"},[_c('BaseContainer',{attrs:{\"padding-x\":_vm.paddingX,\"padding-y\":_vm.paddingY,\"gutter\":_vm.gutter,\"show-header\":_vm.showHeader,\"header-bg-color\":_vm.headerBgColor,\"body-bg-color\":_vm.bodyBgColor,\"body-text-color\":_vm.bodyTextColor},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._t(\"header\")]},proxy:true}],null,true)},[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")]})],2)],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseModalContainer extends Vue {\r\n // Modal props\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ default: true}) centered: boolean;\r\n @Prop({ default: true }) fade: boolean;\r\n @Prop({ default: 'md'}) size: string;\r\n // Container props\r\n @Prop({ default: 4 }) paddingX: number;\r\n @Prop({ default: 4 }) paddingY: number;\r\n @Prop({ default: 2 }) gutter: number;\r\n @Prop({ default: true }) showHeader: boolean;\r\n @Prop({ default: 'trademark'}) headerBgColor: string;\r\n @Prop({ default: 'white'}) headerTextColor: string;\r\n @Prop({ default: 'white' }) bodyBgColor: string;\r\n @Prop({ default: 'dark' }) bodyTextColor: string;\r\n @Prop({ default: true }) bsBackdrop: 'static' | boolean;\r\n @Prop({ default: false }) scrollable: boolean;\r\n\r\n get modalClasses() {\r\n return [\r\n this.size != 'md' ? `modal-${this.size}` : '',\r\n this.centered ? 'modal-dialog-centered' : '',\r\n this.scrollable ? 'modal-dialog-scrollable' : '',\r\n ];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-modal-container.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-modal-container.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-modal-container.vue?vue&type=template&id=157d650e&scoped=true&\"\nimport script from \"./base-modal-container.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-modal-container.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"157d650e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-item-card rounded rounded-4 bg-white h-100 py-2\"},[_c('router-link',{attrs:{\"to\":{ name: _vm.routeName, params: { id: _vm.listItem.id } }}},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"bg-primary rounded-3-end ps-4 py-1 pe-3 roboto-xl text-white\"},[_vm._v(\" \"+_vm._s(_vm.$tc(_vm.isProcurement ? 'general.resultTypes.procurement' : 'general.resultTypes.project', 1))+\" \")])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"two-lines-then-ellipsis roboto-lg fw-medium text-dark\"},[_vm._v(\" \"+_vm._s(_vm.listItem.name)+\" \")])])])]),_c('div',{staticClass:\"px-4 pt-3\"},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12 col-md-6 d-flex flex-column justify-content-between\"},[_c('div',[_c('div',[_c('span',{staticClass:\"fw-bold me-1\"},[_vm._v(_vm._s(_vm.$t('general.criteria.phase'))+\":\")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.getPhase.name)+\" \")])]),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(_vm.isProcurement)),function(criterionType){return _c('div',{key:criterionType.id},[_c('span',{staticClass:\"fw-bold me-1\"},[_vm._v(_vm._s(_vm.$tc(criterionType.translationProperty, 2))+\":\")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.getCriteriaNamesOfType(criterionType.id).join(', '))+\" \")])])}),_c('div',[_c('span',{staticClass:\"fw-bold me-1\"},[_vm._v(\" \"+_vm._s(_vm.$tc('general.criteria.contractSum'))+\": \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.listItem.budget ? _vm.formatPrice(_vm.listItem.budget) : 'N/A')+\" \")])]),(_vm.isProcurement)?_c('div',[_c('span',{staticClass:\"fw-bold me-1\"},[_vm._v(\" \"+_vm._s(_vm.$tc('components.itemCard.nextDeadline'))+\": \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.nextDeadline)+\" \")])]):_vm._e()],2),_c('div',{staticClass:\"me-auto\"},[_c('DropdownNotes',{staticClass:\"mt-3\",attrs:{\"id\":_vm.noteId,\"notes\":_vm.listItem.notes,\"size\":\"lg\",\"no-flip\":\"\",\"icon-size\":\"1x\"},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('UpdateList',{attrs:{\"amount\":5,\"updates\":_vm.updates,\"scroll-size\":\"30vh\"}})],1),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.lastUpdated', [_vm.lastUpdated]))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.published', [_vm.published]))+\" \")])]),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('IconBar',{attrs:{\"id\":(\"list-icon-bar-\" + (_vm.list ? _vm.list.id : 'blacklist') + \"-\" + (_vm.listItem.id)),\"variant\":\"white\",\"data-object\":_vm.listItem}})],1)])]),_c('ModalNoteEdit',{attrs:{\"modal-id\":(\"edit-\" + _vm.noteId),\"initial-note\":_vm.selectedNote,\"project-id\":_vm.isProcurement ? null : _vm.listItem.id,\"procurement-id\":_vm.isProcurement ? _vm.listItem.id : null},on:{\"noteSaved\":_vm.noteSaved,\"openDeleteModal\":_vm.openDeleteNoteModal}}),_c('ModalNoteDelete',{attrs:{\"modal-id\":(\"delete-\" + _vm.noteId),\"note\":_vm.selectedNote},on:{\"noteDeleted\":_vm.noteDeleted}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import moment, { Moment } from 'moment';\r\n\r\nexport const dateUtils = {\r\n isDateStringAfter(date1: string, date2: string): boolean {\r\n if (!date1) {\r\n return false;\r\n }\r\n if (!date2) {\r\n return true;\r\n }\r\n return moment(date1).isAfter(moment(date2));\r\n },\r\n\r\n isFormattedDateStringAfter(date1: string, date2: string, format: string): boolean {\r\n if (!date1) {\r\n return false;\r\n }\r\n if (!date2) {\r\n return true;\r\n }\r\n return moment(date1, format).isAfter(moment(date2, format));\r\n },\r\n\r\n findNextDate(format: string, dates: string[]): string {\r\n const now = moment.now();\r\n let closest: Moment = null;\r\n for (const date of dates) {\r\n if (closest == null && date !== null) {\r\n closest = moment(date);\r\n continue;\r\n }\r\n if (date != null && moment(date).isAfter(now) && moment(date).isBefore(closest)) {\r\n closest = moment(date);\r\n }\r\n }\r\n return closest ? closest.locale('da').format(format) : null;\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-notes\"},[_c('div',{staticClass:\"dropdown\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"sticky-note\",\"size\":_vm.size,\"icon-size\":_vm.iconSize,\"variant\":_vm.variant,\"label\":_vm.label,\"tool-tip-text\":(_vm.notes && _vm.notes.length >= 1) ? _vm.$tc('general.note', 2) : '',\"disabled\":!_vm.notes || _vm.notes.length < 1,\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"outside\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('div',{staticClass:\"dropdown-menu p-2 unclickable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('NoteList',{attrs:{\"id\":_vm.id,\"notes\":_vm.notes,\"limit\":2,\"can-show-all\":false},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1)]},proxy:true}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"note-list\"},[(_vm.canCreate)?_c('div',{staticClass:\"d-flex justify-content-start\"},[_c('BaseButtonIcon',{attrs:{\"id\":\"create-note\",\"icon-name\":\"plus\",\"variant\":_vm.$vmx.user.hasProduct ? 'primary' : 'secondary',\"size\":\"sm\",\"rounded\":true,\"label\":_vm.$t('components.noteList.createButton')},on:{\"click\":_vm.createNote}})],1):_vm._e(),(_vm.notes && _vm.notes.length > 0)?_c('div',{staticClass:\"mt-4\"},[_vm._l((_vm.limitedNotes),function(note,index){return _c('div',{key:index,staticClass:\"mb-2\"},[_c('div',{staticClass:\"rounded bg-trademark-25 d-flex justify-content-between mb-1 px-2 py-1\"},[_c('div',{staticClass:\"lato-lg fw-bold\"},[_vm._v(\" \"+_vm._s(note.title)+\" \")]),_c('div',[_c('div',{staticClass:\"dropdown d-inline\"},[_c('FontAwesomeIcon',{staticClass:\"me-2 clickable dropdown-toggle\",attrs:{\"icon\":['fal', 'calendar-plus'],\"size\":\"sm\",\"data-bs-toggle\":\"dropdown\"}}),_c('DropdownMailExport',{attrs:{\"download-name\":_vm.downloadName(note),\"mail-header\":_vm.mailHeader(note),\"mail-body\":note.text,\"from-date\":_vm.now}})],1),_c('FontAwesomeIcon',{staticClass:\"me-2 clickable\",attrs:{\"icon\":['fal', 'pencil'],\"size\":\"sm\"},on:{\"click\":function($event){return _vm.editNote(note.id)}}}),_c('FontAwesomeIcon',{staticClass:\"clickable\",attrs:{\"icon\":['fal', 'trash-alt'],\"size\":\"sm\"},on:{\"click\":function($event){return _vm.openDeleteModal(note.id)}}})],1)]),_c('div',{staticClass:\"px-2\"},[_c('div',{staticClass:\"d-flex justify-content-between mb-1\"},[_c('div',[_vm._v(\" \"+_vm._s(note.updated)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(note.createdBy)+\" \")])]),_c('div',{staticClass:\"lato-lg white-space-pre-wrap\"},[_vm._v(\" \"+_vm._s(note.text)+\" \")])])])}),(_vm.hasMore)?_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.canShowAll)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125\",on:{\"click\":function($event){_vm.collapsed = !_vm.collapsed}}},[_vm._v(\" \"+_vm._s(_vm.collapsed ? _vm.$t('general.seeMore') : _vm.$t('general.seeLess'))+\" \")]):_c('div',{staticClass:\"roboto-lg fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$tc('components.noteList.andMore', _vm.excessNotes, [_vm.excessNotes]))+\" \")])]):_vm._e()],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"dropdown-mail-export dropdown-menu\"},[_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.getOutlookCalenderEventLink(),\"target\":\"_blank\",\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_vm._v(\"Outlook\")]),_c('div',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'plus'],\"size\":\"lg\"}})],1)])])]),_vm._m(0),_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.getOfficeCalenderEventLink(),\"target\":\"_blank\",\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_vm._v(\"Office 365\")]),_c('div',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'plus'],\"size\":\"lg\"}})],1)])])]),_vm._m(1),_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.getGoogleCalendarEventLink(),\"target\":\"_blank\",\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_vm._v(\"Google\")]),_c('div',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'plus'],\"size\":\"lg\"}})],1)])])]),_vm._m(2),_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.getICS(),\"target\":\"_blank\",\"download\":_vm.downloadName,\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_vm._v(\"Apple\")]),_c('div',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'plus'],\"size\":\"lg\"}})],1)])])]),_vm._m(3),_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.getICS(),\"target\":\"_blank\",\"download\":_vm.downloadName,\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('div',{staticClass:\"d-flex flex-row justify-content-between\"},[_c('div',[_vm._v(\"Download\")]),_c('div',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'plus'],\"size\":\"lg\"}})],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('hr',{staticClass:\"dropdown-divider\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('hr',{staticClass:\"dropdown-divider\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('hr',{staticClass:\"dropdown-divider\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_c('hr',{staticClass:\"dropdown-divider\"})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { ICalCalendar } from 'ical-generator';\r\nimport moment from 'moment';\r\n\r\n@Component\r\nexport default class DropdownMailExport extends Vue {\r\n @Prop({ required: true }) downloadName: string;\r\n @Prop({ required: true }) mailHeader: string;\r\n @Prop() mailBody: string;\r\n @Prop() fromDate: string;\r\n @Prop() toDate: string;\r\n\r\n get isBasicProduct(): boolean {\r\n return !this.$vmx.user.hasProduct;\r\n }\r\n\r\n get from(): moment.Moment {\r\n return (this.fromDate && moment(this.fromDate) || moment(this.toDate)).locale('da');\r\n }\r\n\r\n get to(): moment.Moment {\r\n return (this.toDate && moment(this.toDate) || moment(this.fromDate)).locale('da');\r\n }\r\n\r\n get shortMailDetails(): string {\r\n return `Projektagenten url: ${window.location.href}`\r\n }\r\n\r\n get mailDetails(): string {\r\n return [\r\n this.mailBody,\r\n '\\n',\r\n `Projektagenten url: ${window.location.href}`,\r\n ].join('\\r\\n')\r\n }\r\n\r\n get paywallModalId() {\r\n return globalFunctions.getPaywallModalId();\r\n }\r\n\r\n private getOutlookCalenderEventLink(): string {\r\n // TODO changed the word \"deeplink\" to \"action\", between \"0\" and \"compose\", due to MS error. They might need changing back again.\r\n return (!this.fromDate && !this.toDate)\r\n ? null\r\n : 'https://outlook.office.com/calendar/0/action/compose?'.concat(\r\n [\r\n 'path=/calendar/action/compose',\r\n 'rru=addevent',\r\n `startdt=${this.from.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\r\n `enddt=${this.to.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\r\n `subject=${encodeURIComponent(this.mailHeader)}`,\r\n `body=${encodeURIComponent(this.shortMailDetails)}`,\r\n ].join('&'),\r\n )\r\n }\r\n\r\n private getOfficeCalenderEventLink(): string {\r\n // TODO changed the word \"deeplink\" to \"action\", between \"0\" and \"compose\", due to MS error. They might need changing back again.\r\n return (!this.fromDate && !this.toDate)\r\n ? null\r\n : 'https://outlook.office.com/calendar/0/action/compose?'.concat(\r\n [\r\n 'path=/calendar/action/compose',\r\n 'rru=addevent',\r\n `startdt=${this.from.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\r\n `enddt=${this.to.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\r\n `subject=${encodeURIComponent(this.mailHeader)}`,\r\n `body=${this.shortMailDetails}`,\r\n ].join('&'),\r\n )\r\n }\r\n\r\n private getGoogleCalendarEventLink(): string {\r\n return (!this.fromDate && !this.toDate)\r\n ? null\r\n : 'https://www.google.com/calendar/render?'.concat(\r\n [\r\n 'action=TEMPLATE',\r\n `text=${encodeURIComponent(this.mailHeader)}`,\r\n `dates=${this.from.format('YYYYMMDD[T]HHmm')}/${this.to.format(('YYYYMMDD[T]HHmm'))}`,\r\n `&details=${encodeURIComponent(this.mailDetails)}`,\r\n ].join('&'),\r\n )\r\n }\r\n\r\n private getICS(): string {\r\n if (!this.fromDate && !this.toDate) return null;\r\n const cal = new ICalCalendar();\r\n\r\n cal.createEvent({\r\n start: this.from,\r\n end: this.to,\r\n summary: this.mailHeader,\r\n description: this.mailDetails,\r\n });\r\n\r\n return cal.toURL();\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-mail-export.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-mail-export.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-mail-export.vue?vue&type=template&id=631eb813&scoped=true&\"\nimport script from \"./dropdown-mail-export.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-mail-export.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"631eb813\",\n null\n \n)\n\nexport default component.exports","import moment from 'moment';\r\n\r\nexport class FormatUtils {\r\n constructor() {}\r\n\r\n public formatDate = (date: string | Date, format: string): string => {\r\n if (date) {\r\n return moment(date).locale('process.env.VUE_APP_I18N_LOCALE').format(format);\r\n }\r\n return 'N/A';\r\n };\r\n\r\n public formatTextToHtml = (text: string): string => {\r\n if (text && !text.includes('$1

');\r\n text = text.replaceAll('

', '');\r\n }\r\n return text;\r\n };\r\n}\r\n\r\ntype DateType = {\r\n day: number;\r\n month: number;\r\n year: number;\r\n hour: number;\r\n minute: number;\r\n};\r\n\r\nexport const formatUtils = new FormatUtils();\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\nimport DropdownMailExport from '@/components/dropdowns/dropdown-mail-export.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { Modal } from 'bootstrap';\r\nimport { Note } from '@/interfaces/note';\r\n\r\n@Component({\r\n components: {\r\n DropdownMailExport,\r\n },\r\n})\r\nexport default class NoteList extends Vue {\r\n @VModel({ required: true }) selectedNote: Note;\r\n @Prop({ required: true }) notes: Note[];\r\n @Prop({ required: true }) id: string;\r\n @Prop() limit: number;\r\n @Prop({ default: true }) canShowAll: boolean;\r\n @Prop({ default: true }) canCreate: boolean;\r\n collapsed = true;\r\n\r\n mounted() {\r\n if (!this.notes) {\r\n this.notes = [];\r\n }\r\n }\r\n\r\n get editModalId() {\r\n return `edit-${this.id}`;\r\n }\r\n\r\n get deleteModalId() {\r\n return `delete-${this.id}`;\r\n }\r\n\r\n get limitedNotes(): Note[] {\r\n if (this.collapsed) {\r\n if (this.hasMore) {\r\n return this.notes.slice(0, this.limit);\r\n }\r\n return this.notes;\r\n } else {\r\n return this.notes;\r\n }\r\n }\r\n\r\n get hasMore() {\r\n return this.limit && this.limit < this.notes.length;\r\n }\r\n\r\n get excessNotes(): number {\r\n return this.limit < this.notes.length ? this.notes.length - this.limit : 0;\r\n }\r\n\r\n get now(): string {\r\n return formatUtils.formatDate(new Date(), 'YYYY-MM-DD HH:mm')\r\n }\r\n\r\n private mailHeader(note: Note): string {\r\n return note.title ? note.title : `Note: ${note.createdBy}`;\r\n }\r\n\r\n private downloadName(note: Note) {\r\n return `${note.title ? note.title.replaceAll(' ', '_') : 'note_file'}.ics`\r\n }\r\n\r\n createNote() {\r\n if (this.$vmx.user.hasProduct) {\r\n this.selectedNote = null;\r\n this.openModal(this.editModalId);\r\n } else {\r\n this.$vmx.modal.openPaywallModal();\r\n }\r\n }\r\n\r\n editNote(id: number) {\r\n this.selectedNote = this.notes.find(note => note.id ==id);\r\n this.openModal(this.editModalId);\r\n }\r\n\r\n openDeleteModal(id: number) {\r\n this.selectedNote = this.notes.find(note => note.id ==id);\r\n this.openModal(this.deleteModalId);\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./note-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./note-list.vue?vue&type=template&id=5f209c33&scoped=true&\"\nimport script from \"./note-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./note-list.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f209c33\",\n null\n \n)\n\nexport default component.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\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\nimport { Note } from '@/interfaces/note';\r\nimport NoteList from '@/components/general-components/note-list.vue';\r\n\r\n\r\n@Component({\r\n components: {\r\n NoteList,\r\n },\r\n})\r\nexport default class DropdownNotes extends Vue {\r\n @VModel({ required: true }) selectedNote: Note;\r\n @Prop({ required: true }) notes: Note[];\r\n @Prop({ required: true }) id: string;\r\n @Prop({ default: 'sm' }) size: string;\r\n @Prop({ default: 'sm' }) dropdownSize: string;\r\n @Prop({ default: 'xs' }) iconSize: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false, type: Boolean }) noFlip: boolean;\r\n @Prop() label: string;\r\n @Prop({ default: false }) rightAlign: boolean;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-notes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-notes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-notes.vue?vue&type=template&id=4bb7f5a3&scoped=true&\"\nimport script from \"./dropdown-notes.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-notes.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-notes.vue?vue&type=style&index=0&id=4bb7f5a3&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4bb7f5a3\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icon-bar rounded-1\",class:_vm.containerClasses},[_c('div',{staticClass:\"row justify-content-around h-100 align-items-center\"},[(_vm.isOnUserBlacklist)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButtonIcon',{class:_vm.hasProduct ? '' : 'opacity-50',attrs:{\"size\":_vm.size,\"variant\":_vm.variant,\"type\":\"fas\",\"icon-name\":\"ban\",\"tool-tip-text\":_vm.hasProduct ? this.$t('components.iconBar.blacklist.removeTooltip') : '',\"bs-dismiss\":\"dropdown\"},on:{\"click\":function($event){return _vm.openBlacklistRemoveModal()}}})],1):_c('div',{staticClass:\"col-auto\"},[_c('BaseButtonIcon',{class:_vm.hasProduct ? '' : 'opacity-50',attrs:{\"size\":_vm.size,\"variant\":_vm.variant,\"type\":\"fal\",\"icon-name\":\"ban\",\"tool-tip-text\":_vm.hasProduct ? this.$t('components.iconBar.blacklist.addTooltip') : ''},on:{\"click\":function($event){return _vm.openBlacklistSettingsModal()}}})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButtonIcon',{class:_vm.hasProduct ? '' : 'opacity-50',attrs:{\"variant\":_vm.variant,\"size\":_vm.size,\"icon-name\":\"file-download\",\"route-params\":_vm.hasProduct ? _vm.exportlink : null,\"tool-tip-text\":_vm.hasProduct ? _vm.$t('components.iconBar.download.tooltip') : ''},on:{\"click\":function($event){_vm.hasProduct ? '' : _vm.openPaywallModal()}}})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButtonIcon',{class:_vm.hasProduct ? '' : 'opacity-50',attrs:{\"variant\":_vm.variant,\"size\":_vm.size,\"icon-name\":\"share-alt\",\"tool-tip-text\":_vm.hasProduct ? _vm.$t('components.iconBar.share.tooltip') : '',\"bs-toggle\":_vm.hasProduct ? 'dropdown' : '',\"bs-auto-close\":_vm.hasProduct ? 'outside' : ''},on:{\"click\":function($event){_vm.hasProduct ? '' : _vm.openPaywallModal()}},scopedSlots:_vm._u([(_vm.hasProduct)?{key:\"dropdown\",fn:function(){return [(_vm.hasProduct)?_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',[_c('a',{staticClass:\"dropdown-item\",on:{\"click\":[function($event){return _vm.mailToString()},function($event){$event.stopPropagation();$event.preventDefault();}]}},[_c('div',{staticClass:\"d-flex\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'envelope'],\"size\":\"lg\"}}),_c('div',{staticClass:\"ms-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.iconBar.share.sendAsMail'))+\" \")])],1)])]),_c('li',[_c('a',{staticClass:\"dropdown-item\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyToClipboard.apply(null, arguments)}}},[_c('div',{staticClass:\"d-flex\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', _vm.linkCopied ? 'check' : 'link'],\"size\":\"lg\"}}),(_vm.linkCopied)?_c('div',{staticClass:\"ms-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.iconBar.share.linkCopied'))+\" \")]):_c('div',{staticClass:\"ms-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.iconBar.share.copyLink'))+\" \")])],1)])])]):_vm._e()]},proxy:true}:null],null,true)})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButtonIcon',{class:_vm.hasProduct ? '' : 'opacity-50',attrs:{\"variant\":_vm.variant,\"size\":_vm.size,\"icon-name\":\"star\",\"type\":_vm.isOnList ? 'fas' : 'fal',\"tool-tip-text\":_vm.hasProduct ? _vm.listButtonTooltip : ''},on:{\"click\":function($event){return _vm.openListAddModal()}}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RawLocation } from 'vue-router';\r\n\r\n@Component\r\nexport default class IconBar extends Vue {\r\n @Prop({ required: true }) dataObject: Project | Procurement | ProcurementReference;\r\n @Prop({ default: 'lg' }) size: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) isDropdown: boolean;\r\n @Prop({ default: false }) fixedHeight: boolean;\r\n linkCopied = false;\r\n\r\n get hasProduct(): boolean {\r\n return this.$vmx.user.hasProduct;\r\n }\r\n\r\n get containerClasses() {\r\n return [\r\n `bg-${this.variant}`,\r\n this.fixedHeight ? 'fixed-height' : '',\r\n ];\r\n }\r\n\r\n get firstListWithObject(): List {\r\n if (this.isOnList) {\r\n return this.$vmx.list.listsWithObject(this.dataObject)[0];\r\n }\r\n return null;\r\n }\r\n\r\n get exportlink(): RawLocation {\r\n const isProcurement = globalFunctions.isProcurement(this.dataObject as Project | Procurement);\r\n return {\r\n name: isProcurement ? 'PrintProcurement' : 'PrintProject',\r\n params: {\r\n id: this.dataObject.id.toString(),\r\n },\r\n };\r\n }\r\n\r\n get isOnList(): boolean {\r\n return this.$vmx.list.isInList(this.dataObject);\r\n }\r\n\r\n get isOnUserBlacklist(): boolean {\r\n return this.$vmx.blacklist.isOnUserBlacklist(this.dataObject as Project | Procurement);\r\n }\r\n\r\n get listButtonTooltip(): string {\r\n return this.$t(this.isOnList ? 'components.iconBar.list.removeTooltip' : 'components.iconBar.list.addTooltip') as string;\r\n }\r\n\r\n // --- OTHER ---------------------------------------------------------------\r\n emitUpdate() {\r\n this.$emit('listUpdated');\r\n }\r\n\r\n mailToString() {\r\n const email = 'sample@gmail.com';\r\n const subject = encodeURI('Projektagenten - ' + this.dataObject.name);\r\n const body = encodeURI(`Hej!\\n\\nTag lige et kig pÃ¥ noget jeg har fundet pÃ¥ Projektagenten: ${this.getUrl()}\\n\\n`)\r\n\r\n window.open(`mailto:${email}?subject=${subject}&body=${body}`);\r\n }\r\n\r\n getUrl() {\r\n let baseUrl = process.env.VUE_APP_BASE_URL;\r\n\r\n if (!(process.env.NODE_ENV === 'development')) {\r\n baseUrl += this.$vmx.domain.domain.sld + '.' + this.$vmx.domain.domain.tld;\r\n }\r\n\r\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\r\n return baseUrl + '/procurement/' + this.dataObject.id;\r\n } else {\r\n return baseUrl + '/project/' + this.dataObject.id;\r\n }\r\n }\r\n\r\n copyToClipboard() {\r\n navigator.clipboard.writeText(this.getUrl());\r\n this.linkCopied = true;\r\n globalFunctions.timeout(4000).then(() => this.linkCopied = false);\r\n }\r\n\r\n openBlacklistSettingsModal() {\r\n if (this.hasProduct) {\r\n this.$vmx.modal.openBlacklistSettingsModal(this.dataObject);\r\n } else {\r\n this.openPaywallModal();\r\n }\r\n }\r\n\r\n openBlacklistRemoveModal() {\r\n if (this.hasProduct) {\r\n this.$vmx.modal.openBlacklistRemoveModal(this.dataObject);\r\n } else {\r\n this.openPaywallModal();\r\n }\r\n }\r\n\r\n openListAddModal() {\r\n if (this.hasProduct) {\r\n this.$vmx.modal.openListAddModal(this.dataObject);\r\n } else {\r\n this.openPaywallModal();\r\n }\r\n }\r\n\r\n openPaywallModal() {\r\n this.$vmx.modal.openPaywallModal();\r\n }\r\n}\r\n","export enum LanguageIds {\r\n danish = 2,\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon-bar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon-bar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./icon-bar.vue?vue&type=template&id=19db888a&scoped=true&\"\nimport script from \"./icon-bar.vue?vue&type=script&lang=ts&\"\nexport * from \"./icon-bar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./icon-bar.vue?vue&type=style&index=0&id=19db888a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19db888a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-note-delete\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.note.delete.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.modals.note.delete.text'))}})])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Note } from '@/interfaces/note';\r\n\r\nconst api = '/notes';\r\n\r\nexport class NoteService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getNotesForProject = async (id: number): Promise => {\r\n const response = await this.get(api + '/byProject/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getNotesForProcurement = async (id: number): Promise => {\r\n const response = await this.get(api + '/byProcurement/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public createNote = async (note: Note): Promise => {\r\n const response = await this.post(api, note);\r\n return this.getResponse(response);\r\n };\r\n\r\n public updateNote = async (note: Note): Promise => {\r\n const response = await this.put(api, note);\r\n return this.getResponse(response);\r\n };\r\n\r\n public deleteNote = async (id: number): Promise => {\r\n const response = await this.delete(`${api}/${id}`);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const noteService = new NoteService(apiConfig);\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport { Note } from '@/interfaces/note';\r\nimport { noteService } from '@/services/restapi/note-service';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalNoteDelete extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ required: true }) note: Note;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.setEventListeners();\r\n }\r\n\r\n activated() {\r\n this.setEventListeners();\r\n }\r\n\r\n setEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.note.id) {\r\n this.submitting = true;\r\n try {\r\n await noteService.deleteNote(this.note.id);\r\n this.$emit('noteDeleted', this.note.id);\r\n this.error = false;\r\n this.submitting = false;\r\n this.hideModal();\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-note-delete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-note-delete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-note-delete.vue?vue&type=template&id=abe0f87a&scoped=true&\"\nimport script from \"./modal-note-delete.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-note-delete.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"abe0f87a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.note && !!_vm.note.id ? _vm.$t('components.modals.note.settings.titleEdit') : _vm.$t('components.modals.note.settings.titleNew'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-3\",class:_vm.buttonRowClasses},[(_vm.note && _vm.note.id)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\"},on:{\"click\":_vm.openDeleteModal}},[_vm._v(\" \"+_vm._s(_vm.$t('general.delete'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":!_vm.validateNote}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"noteTitle\",attrs:{\"id\":\"note-title\",\"label\":_vm.$t('components.inputField.title.text'),\"placeholder\":_vm.$t('components.inputField.title.placeholder')},model:{value:(_vm.note.title),callback:function ($$v) {_vm.$set(_vm.note, \"title\", $$v)},expression:\"note.title\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputTextarea',{ref:\"noteText\",attrs:{\"id\":\"note-text\",\"required\":true,\"label\":_vm.$t('components.inputField.note.text'),\"placeholder\":_vm.$t('components.inputField.note.placeholder')},model:{value:(_vm.note.text),callback:function ($$v) {_vm.$set(_vm.note, \"text\", $$v)},expression:\"note.text\"}})],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport BaseInputTextarea from '@/components/form-fields/base-input-textarea.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport { Note } from '@/interfaces/note';\r\nimport { noteService } from '@/services/restapi/note-service';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalNoteEdit extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ default: null }) initialNote: Note;\r\n @Prop() projectId: number;\r\n @Prop() procurementId: number;\r\n @Prop() companyId: number;\r\n @Ref() noteTitle: BaseInputField;\r\n @Ref() noteText: BaseInputTextarea;\r\n note: Note = null;\r\n users: User[] = [];\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n this.note = this.initialNote ? {...this.initialNote} : null;\r\n const user = this.$vmx.user.user;\r\n this.users = this.$vmx.user.colleagues;\r\n if (!this.note) {\r\n this.note = {\r\n projectId: this.projectId,\r\n procurementId: this.procurementId,\r\n companyId: this.companyId,\r\n createdBy: user.name,\r\n title: null,\r\n text: null,\r\n paUserIds: [user.id],\r\n created: null,\r\n updated: null,\r\n };\r\n } else {\r\n this.note.paUserIds = [...this.users].map(u => u.id);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal(this.modalId);\r\n }\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n `justify-content-${this.note?.id ? 'between' : 'end'}`,\r\n ];\r\n }\r\n\r\n get formIsValid() {\r\n return this.noteText.validate();\r\n }\r\n\r\n get validateNote(): boolean {\r\n if (this.note) {\r\n return this.note.paUserIds\r\n && this.note.paUserIds.length > 0\r\n && !!this.note.text\r\n && this.note.text.trim().length > 0;\r\n }\r\n return false;\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n this.submitting = true;\r\n try {\r\n const newNote: Note = this.note.id && this.note.id !== undefined\r\n ? await noteService.updateNote(this.note)\r\n : await noteService.createNote(this.note);\r\n // await this.$vmx.list.refetchLists();\r\n this.$emit('noteSaved', newNote);\r\n this.error = false;\r\n this.submitting = false;\r\n this.hideModal(this.modalId);\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n }\r\n\r\n openDeleteModal() {\r\n this.$emit('openDeleteModal', this.note.id);\r\n }\r\n\r\n hideModal(modal: string) {\r\n const element = document.getElementById(modal);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-note-edit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-note-edit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-note-edit.vue?vue&type=template&id=646714c4&scoped=true&\"\nimport script from \"./modal-note-edit.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-note-edit.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"646714c4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"activity-log\",on:{\"click\":function($event){$event.stopPropagation();return (function () { }).apply(null, arguments)}}},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{class:{ scrollable : _vm.isScrollable },style:({ 'max-height': _vm.scrollSize.length != 0 ? _vm.scrollSize : '' })},_vm._l((_vm.getLoadedUpdates),function(dailyUpdates){return _c('div',{key:dailyUpdates.date.getTime(),staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex flex-row update-content py-1\"},[_c('div',{staticClass:\"left-container\"},[_c('div',{staticClass:\"h-100 d-flex flex-row justify-content-center\"},[_c('div',{staticClass:\"line bg-trademark-50\"})])]),_c('div',{staticClass:\"my-1 ms-1\"},[_c('div',{staticClass:\"grey lato-sm\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(dailyUpdates.date))+\" \")]),_c('ul',_vm._l((dailyUpdates.updates),function(update){return _c('li',{key:update.id,staticClass:\"text-wrap\",class:_vm.updateClasses},[_vm._t(\"default\",function(){return [_c('router-link',{staticClass:\"nolink\",attrs:{\"to\":_vm.getLink(update)},on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }}}},[_c('div',[_vm._v(_vm._s(update.text))])])]},{\"update\":update})],2)}),0)])])])])}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport moment from 'moment';\r\nimport { RawLocation } from 'vue-router';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { Update } from '@/interfaces/update';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component\r\nexport default class UpdateList extends Vue {\r\n @Prop({ required: true }) updates: Update[];\r\n @Prop({ default: false }) blurred: boolean;\r\n @Prop({ default: 0 }) amount: number; // 0 specify unlimited amount\r\n @Prop({ default: '' }) scrollSize: string;\r\n\r\n // @Prop() itemId: number;\r\n // @Prop({ required: true }) isProject: boolean;\r\n // @Prop({ default: null }) onClick?: (type: string) => void;\r\n\r\n get updateClasses() {\r\n return [\r\n this.blurred ? 'blurred' : '',\r\n // this.clickable ? 'clickable' : '',\r\n ];\r\n }\r\n\r\n get isScrollable() {\r\n return this.scrollSize.length != 0\r\n }\r\n\r\n // get clickable(): boolean {\r\n // return this.onClick !== null\r\n // || (\r\n // this.$route.name !== RouterNames.LOGGED_IN_PROJECT_VIEW\r\n // && this.$route.name !== RouterNames.LOGGED_IN_PROCUREMENT_VIEW\r\n // )\r\n // || (\r\n // this.$route.name == RouterNames.LOGGED_IN_PROJECT_VIEW && !this.isProject\r\n // )\r\n // }\r\n\r\n get loading() {\r\n return this.updates == null || this.updates.length == 0;\r\n // const bla = this.getLoadedUpdates;\r\n // return bla == null || bla.length == 0;\r\n }\r\n\r\n get getLoadedUpdates(): { updates: Update[], date: Date }[] {\r\n if (this.updates != null) {\r\n return this.convertUpdates(this.updates)\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public formatDate(date: Date): string {\r\n const now = moment();\r\n now.set('hours', 0)\r\n now.set('minutes', 0)\r\n now.set('seconds', 0)\r\n\r\n const day = moment(date);\r\n day.set('hours', 0)\r\n day.set('minutes', 0)\r\n day.set('seconds', 0)\r\n\r\n const daysSince = now.diff(day, 'days')\r\n\r\n return `${formatUtils.formatDate(date, 'DD.MM.YYYY')} (${this.$tc('components.activityLog.days', daysSince, [daysSince])})`;\r\n }\r\n\r\n private convertUpdates(updates: Update[]): { updates: Update[], date: Date }[] {\r\n const updatesByDay: { updates: Update[], date: Date }[] = [];\r\n\r\n updates.forEach(update => {\r\n if (!update.text) return;\r\n\r\n const date: Date = new Date(update.created);\r\n\r\n const index = updatesByDay.findIndex(x => x.date.getFullYear() === date.getFullYear()\r\n && x.date.getMonth() == date.getMonth()\r\n && x.date.getDate() == date.getDate(),\r\n );\r\n\r\n if (index >= 0) {\r\n updatesByDay[index].updates.push(update);\r\n } else {\r\n updatesByDay.push({\r\n updates: [update],\r\n date: date,\r\n });\r\n }\r\n });\r\n\r\n updatesByDay.sort((a, b) => a.date < b.date ? 1 : -1);\r\n updatesByDay.forEach(daily => daily.updates.sort((a, b) => dateUtils.isDateStringAfter(a.created, b.created) ? -1 : 1))\r\n\r\n if (updatesByDay.length > this.amount && this.amount != 0) {\r\n return updatesByDay.slice(0, this.amount);\r\n } else {\r\n return updatesByDay;\r\n }\r\n }\r\n\r\n getLink(update: Update): RawLocation {\r\n if (this.blurred) return null;\r\n\r\n return {\r\n name: update.projectId != null ? RouterNames.LOGGED_IN_PROJECT_VIEW : RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\r\n params: { id: (update.projectId ?? update.procurementId).toString() },\r\n hash: update.scrollId ? `#${update.scrollId}` : '',\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./update-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./update-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./update-list.vue?vue&type=template&id=106e7591&scoped=true&\"\nimport script from \"./update-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./update-list.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./update-list.vue?vue&type=style&index=0&id=106e7591&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"106e7591\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue'\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport IconBar from '@/components/containers/icon-bar.vue';\r\nimport { LanguageIds } from '@/util/enums/language-ids';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport { Note } from '@/interfaces/note';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\r\nimport { Project } from '@/interfaces/project';\r\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { Update } from '@/interfaces/update';\r\nimport UpdateList from '@/components/general-components/update-list.vue';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component({\r\n components: {\r\n DropdownNotes,\r\n IconBar,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n UpdateList,\r\n },\r\n})\r\nexport default class ListItemCard extends Vue {\r\n @Prop({ required: true }) listItem: Project | Procurement;\r\n @Prop({ required: false }) list: List;\r\n selectedNote: Note = null;\r\n\r\n updatesData: Update[] = null;\r\n\r\n get nextDeadline(): string {\r\n const dates: string[] = [];\r\n\r\n if (this.isProcurement) {\r\n dates.push((this.listItem as Procurement).offersTo);\r\n dates.push((this.listItem as Procurement).materialTo);\r\n dates.push((this.listItem as Procurement).inquiryTo);\r\n dates.push((this.listItem as Procurement).participationTo);\r\n return dateUtils.findNextDate('DD-MM-YYYY', dates);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get lastUpdated(): string {\r\n return formatUtils.formatDate(this.listItem.lastUpdateDate, 'DD.MM.YYYY');\r\n }\r\n\r\n get published(): string {\r\n return formatUtils.formatDate(this.listItem.published, 'DD.MM.YYYY');\r\n }\r\n\r\n get isProcurement(): boolean {\r\n return globalFunctions.isProcurement(this.listItem);\r\n }\r\n\r\n get getPhase(): ProcurementPhase | ProjectPhase {\r\n return globalFunctions.isProcurement(this.listItem) ? this.listItem.procurementPhase : this.listItem.projectPhase;\r\n }\r\n\r\n get routeName() {\r\n return this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW;\r\n }\r\n\r\n get noteId() {\r\n return `note-list-${this.commonId}`;\r\n }\r\n\r\n get commonId() {\r\n return `${this.isProcurement ? 'proc' : 'proj'}-${this.listItem.id}`;\r\n }\r\n\r\n getCriteriaNamesOfType(typeId: number): string[] {\r\n return this.listItem.criteria?.filter(c => c.typeId === typeId).map(c => c.name) ?? [];\r\n }\r\n\r\n formatPrice(price: number) {\r\n let formattedPrice = this.$n(price, 'currency', domainUtils.domain.numberFormat);\r\n if (this.$vmx.language.language.id === LanguageIds.danish) {\r\n formattedPrice = formattedPrice.replace(' kr.', ',-');\r\n }\r\n return formattedPrice;\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n this.selectedNote = this.listItem.notes.find((note) => note.id == id);\r\n this.openModal(`delete-${this.noteId}`);\r\n }\r\n\r\n noteSaved(note: Note) {\r\n if (this.listItem.notes.some((x) => x.id === note.id)) {\r\n this.listItem.notes = this.listItem.notes.map((obj) =>\r\n obj.id === note.id ? note : obj,\r\n );\r\n } else {\r\n this.listItem.notes.push(note);\r\n this.listItem.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n noteDeleted(id: number) {\r\n this.listItem.notes.splice(\r\n this.listItem.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n get updates(): Update[] {\r\n if (this.updatesData != null) {\r\n return this.updatesData\r\n }\r\n\r\n if (this.isProcurement) {\r\n updateService.getUpdatesByProcurementId(this.listItem.id).then(updates => this.updatesData = updates)\r\n } else {\r\n updateService.getUpdatesByProjectId(this.listItem.id).then(updates => this.updatesData = updates)\r\n }\r\n\r\n return this.updatesData;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-item-card.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-item-card.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./list-item-card.vue?vue&type=template&id=0a036007&scoped=true&\"\nimport script from \"./list-item-card.vue?vue&type=script&lang=ts&\"\nexport * from \"./list-item-card.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./list-item-card.vue?vue&type=style&index=0&id=0a036007&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a036007\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"tableContainer\",staticClass:\"overflow-visible\"},[_c('table',{staticClass:\"table table-hover table-borderless px-0 w-100\"},[_c('thead',{staticClass:\"bg-trademark text-white text-nowrap\"},[_c('tr',[_c('th',{staticClass:\"py-2\",attrs:{\"id\":\"first-column\",\"scope\":\"col\"}}),_c('th',{staticClass:\"p-2\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.name'))+\" \")]),_c('th',{staticClass:\"p-2\",class:_vm.showAtSize(576),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.phase'))+\" \")]),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(false)),function(criterionType){return _c('th',{key:criterionType.id,staticClass:\"p-2\",class:_vm.showAtSize(1080),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$tc(criterionType.translationProperty, 1))+\" \")])}),_c('th',{staticClass:\"p-2\",class:_vm.showAtSize(1080),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.price'))+\" \")]),_c('th',{staticClass:\"p-2\",class:_vm.showAtSize(1400),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.published'))+\" \")]),_c('th',{staticClass:\"p-2\",class:_vm.showAtSize(1400),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.lastUpdated'))+\" \")]),_c('th',{staticClass:\"p-2\",class:_vm.showAtSize(1200),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.columns.deadline'))+\" \")])],2)]),_c('tbody',_vm._l((_vm.items),function(item,index){return _c('tr',{key:index,staticClass:\"table-light clickable\",on:{\"click\":function($event){return _vm.routeToViewPage(item)}}},[_c('td',{staticClass:\"p-0 bg-background\",class:[!item.isProcurement || item.isChild ? 'column-width' : '']},[(!item.isProcurement)?_c('div',{staticClass:\"project-image rounded-start\",style:({\n 'background-image': _vm.imageFromFile(item.coverImage),\n })}):_c('div',{staticClass:\"row h-100 mx-0\"},[(item.isChild)?_c('div',{staticClass:\"col px-0 child-line\"},[_c('div',{staticClass:\"w-50 h-50 ms-auto border-bottom border-start border-trademark\",class:item.isLastChild ? 'rounded-bottom-start' : ''}),(!item.isLastChild)?_c('div',{staticClass:\"w-50 h-50 ms-auto border-start border-primary\"}):_vm._e()]):_vm._e(),_c('div',{staticClass:\"col-auto ms-auto bg-trademark my-0 py-2 px-0 roboto-xs rotated-text rounded-end row-height proc-line text-center text-white\"})])]),_c('td',{staticClass:\"p-0\"},[_c('div',{staticClass:\"row-height d-flex flex-row justify-content-between align-items-stretch py-0 px-2\"},[_c('div',{staticClass:\"no-decoration two-lines-then-ellipsis my-auto\",class:_vm.minWidthAtSize(320)},[_c('span',[_vm._v(\" \"+_vm._s(item.name)+\" \")]),(_vm.isShared || _vm.isBlacklistedSharedPred(item))?_c('span',{staticClass:\"fw-bold badge bg-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.shared').toUpperCase())+\" \")]):_vm._e()]),_c('div',{staticClass:\"d-flex d-row align-items-center me-2\"},[_c('div',{staticClass:\"me-1 me-sm-2\"},[_c('DropdownUpdates',{attrs:{\"item-id\":item.id,\"is-project\":!item.isProcurement}})],1),(_vm.showNotes)?_c('div',{staticClass:\"mx-1 mx-sm-2\"},[_c('DropdownNotes',{attrs:{\"id\":_vm.noteId(item),\"notes\":item.notes,\"dropdown-size\":\"md\",\"no-flip\":\"\",\"right-align\":_vm.tableSize < 768},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1):_vm._e(),_c('div',{staticClass:\"ms-1 ms-sm-2\"},[_c('DropdownIconBar',{attrs:{\"data-object\":_vm.getSearchItem(item)}})],1)])]),_c('ModalNoteEdit',{attrs:{\"modal-id\":(\"edit-\" + (_vm.noteId(item))),\"initial-note\":_vm.selectedNote,\"project-id\":item.isProcurement ? null : item.id,\"procurement-id\":item.isProcurement ? item.id : null},on:{\"noteSaved\":_vm.noteSaved,\"openDeleteModal\":_vm.openDeleteNoteModal}}),_c('ModalNoteDelete',{attrs:{\"modal-id\":(\"delete-\" + (_vm.noteId(item))),\"note\":_vm.selectedNote},on:{\"noteDeleted\":_vm.noteDeleted}})],1),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(576),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(item.phase)+\" \")])])]),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(false)),function(criterionType){return _c('td',{key:criterionType.id,staticClass:\"p-0\",class:_vm.showAtSize(1080),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[(_vm.getCriteriaStringsOfType(item, criterionType.id).length > 0)?_c('div',{staticClass:\"text-nowrap\",domProps:{\"innerHTML\":_vm._s(_vm.firstCriteriaText(_vm.getCriteriaStringsOfType(item, criterionType.id)[0]))}}):_vm._e(),(_vm.getCriteriaStringsOfType(item, criterionType.id).length > 1)?_c('div',{staticClass:\"dropdown ms-1\"},[_c('button',{staticClass:\"btn btn-sm btn-trademark-25 rounded-pill border-0\",attrs:{\"data-bs-toggle\":\"dropdown\"}},[_vm._v(\" +\"+_vm._s(_vm.getCriteriaStringsOfType(item, criterionType.id).length - 1)+\" \")]),_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.getCriteriaStringsOfType(item, criterionType.id)),function(criterionString){return _c('li',{key:criterionString,staticClass:\"unclickable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('div',{staticClass:\"custom-dropdown-item\"},[_vm._v(\" \"+_vm._s(criterionString)+\" \")])])}),0)]):_vm._e()])])}),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1080),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(\" \"+_vm._s(item.price ? _vm.$n(item.price, 'currency', 'da-DK') : _vm.$t('general.emptyField'))+\" \")])])]),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1400),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(_vm.formatDate(item.published))+\" \")])])]),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1400),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(_vm.formatDate(item.updated))+\" \")])])]),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1200),on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.routeToViewPage(item)}}},[_c('div',{staticClass:\"row-height d-flex d-row align-items-center py-0 px-2\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(item.deadline)+\" \")])])])],2)}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('BaseButtonIcon',{attrs:{\"button-id\":\"dropdown-icon-bar-button\",\"icon-name\":\"ellipsis-v\",\"size\":_vm.size,\"variant\":_vm.variant,\"icon-size\":_vm.size,\"tool-tip-text\":_vm.$t('components.iconBar.tooltip'),\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"outside\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('div',{staticClass:\"dropdown-menu unclickable\",attrs:{\"aria-labelledby\":\"dropdown-icon-bar-button\"}},[_c('IconBar',{attrs:{\"data-object\":_vm.dataObject,\"variant\":\"white\",\"is-dropdown\":true}})],1)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport IconBar from '@/components/containers/icon-bar.vue';\r\nimport { List } from '@/interfaces/list';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\n@Component({\r\n components: {\r\n IconBar,\r\n },\r\n})\r\nexport default class DropdownIconBar extends Vue {\r\n @Prop({ required: true }) dataObject: Procurement | Project | ProcurementReference;\r\n @Prop({ default: 'sm' }) size: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) rightAlign: boolean; // TODO\r\n\r\n get firstListWithObject(): List {\r\n if (this.isOnList) {\r\n return this.$vmx.list.listsWithObject(this.dataObject)[0];\r\n }\r\n return null;\r\n }\r\n\r\n get isOnList(): boolean {\r\n return this.$vmx.list.isInList(this.dataObject);\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-icon-bar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-icon-bar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-icon-bar.vue?vue&type=template&id=ade70480&scoped=true&\"\nimport script from \"./dropdown-icon-bar.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-icon-bar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./dropdown-icon-bar.vue?vue&type=style&index=0&id=ade70480&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ade70480\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dropdown-updates\"},[_c('div',{staticClass:\"dropdown\",on:{\"mouseover\":_vm.loadUpdates}},[_c('BaseButtonIcon',{attrs:{\"id\":_vm.id,\"icon-name\":_vm.iconName,\"size\":_vm.size,\"variant\":_vm.variant,\"icon-size\":_vm.iconSize,\"show-badge\":_vm.showBadge,\"tool-tip-text\":_vm.$tc('general.latestUpdate', 2),\"bs-toggle\":_vm.hasAccess ? 'dropdown' : '',\"bs-auto-close\":\"outside\",\"on-click-cb\":_vm.buttonClick},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [(_vm.hasAccess)?_c('div',{staticClass:\"dropdown-menu scrollable-dropdown-menu p-2 unclickable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('UpdateList',{attrs:{\"updates\":_vm.updates,\"amount\":5,\"blurred\":_vm.blurred}})],1):_vm._e()]},proxy:true}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Update } from '@/interfaces/update';\r\nimport UpdateList from '@/components/general-components/update-list.vue';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component({\r\n components: {\r\n UpdateList,\r\n },\r\n})\r\nexport default class DropdownUpdates extends Vue {\r\n @Prop({ default: 'updates-dropdown' }) id: string;\r\n @Prop({ default: 'sm' }) size: string;\r\n @Prop({ default: 'sm' }) iconSize: string;\r\n @Prop({ default: 'bell' }) iconName: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) showBadge: boolean;\r\n @Prop() label: string;\r\n @Prop({ required: true }) itemId: number;\r\n @Prop({ required: true }) isProject: boolean;\r\n @Prop({ default: null }) onClick?: (type: string) => void;\r\n @Prop({ default: false }) blurred: boolean;\r\n\r\n updates: Update[] = [];\r\n fetching = false;\r\n\r\n get hasAccess(): boolean {\r\n return this.$vmx.user.hasProduct || this.isProject;\r\n }\r\n\r\n get hasProduct(): boolean {\r\n return this.$vmx.user.hasProduct;\r\n }\r\n\r\n buttonClick() {\r\n if (this.hasAccess) {\r\n this.loadUpdates();\r\n } else {\r\n this.$vmx.modal.openPaywallModal();\r\n }\r\n }\r\n\r\n loadUpdates() {\r\n if (this.fetching || !this.hasAccess) {\r\n return;\r\n }\r\n this.fetching = true;\r\n\r\n if (this.updates) {\r\n if (this.isProject) {\r\n updateService.getUpdatesByProjectId(this.itemId).then(updates => {\r\n this.updates = updates;\r\n });\r\n } else {\r\n updateService.getUpdatesByProcurementId(this.itemId).then(updates => {\r\n this.updates = updates;\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-updates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-updates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-updates.vue?vue&type=template&id=1255d588&scoped=true&\"\nimport script from \"./dropdown-updates.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-updates.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1255d588\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { BvEvent } from 'bootstrap-vue';\r\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\r\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\r\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue'\r\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\r\nimport { File } from '@/interfaces/file';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport moment from 'moment';\r\nimport { Note } from '@/interfaces/note';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { SearchItemListViewObject } from '@/interfaces/search/search-item-list-view-object';\r\n\r\n@Component({\r\n components: {\r\n DropdownIconBar,\r\n DropdownNotes,\r\n DropdownUpdates,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n },\r\n})\r\nexport default class SearchItemsListView extends Vue {\r\n @Prop({ required: true }) searchItems: Array;\r\n @Prop({ default: false, type: Boolean }) hideRelatedProcurements: boolean;\r\n @Prop({ default: false }) showNotes: boolean;\r\n @Prop({ default: null}) list: List;\r\n @Prop({ default: null }) filterFunc: (val: Procurement | Project | ProcurementReference) => boolean;\r\n @Prop({ default: false }) colorSharedBlacklist: boolean;\r\n @Prop({ default: null }) limit: number;\r\n @Ref() tableContainer: HTMLDivElement;\r\n selectedNote: Note = null;\r\n tableSize = 4000;\r\n allowClick = false;\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n if (this.tableContainer) {\r\n this.tableSize = this.tableContainer.clientWidth;\r\n }\r\n }\r\n\r\n get items(): SearchItemListViewObject[] {\r\n const items: SearchItemListViewObject[] = [];\r\n this.searchItems\r\n .filter(this.filterFunc ?? (() => true) )\r\n .forEach((searchItem: Procurement | Project | ProcurementReference, searchItemIndex) => {\r\n if (globalFunctions.isProcurementOrProcurementReference(searchItem)) {\r\n if (globalFunctions.isProcurementAndNotProcurementReference(searchItem)) {\r\n items.push(this.createObjectFromProcurement(searchItem));\r\n } else {\r\n const isLastChild = searchItemIndex == this.searchItems.length - 1;\r\n items.push(this.createObjectFromProcurementReference(searchItem, isLastChild));\r\n }\r\n } else {\r\n items.push(this.createObjectFromProject(searchItem));\r\n if (this.hideRelatedProcurements == false) {\r\n searchItem.procurements.forEach((procurement, childIndex) => {\r\n const isLastChild = childIndex == searchItem.procurements.length - 1;\r\n items.push(\r\n this.createObjectFromProcurementReference(\r\n procurement,\r\n isLastChild,\r\n ),\r\n );\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (this.limit != null) {\r\n return items.splice(0, this.limit);\r\n }\r\n return items;\r\n }\r\n\r\n\r\n get userBlacklist() {\r\n return this.$vmx.blacklist.userBlacklists;\r\n }\r\n\r\n get isShared(): boolean {\r\n return this.list && this.list.paUserIds.length > 1;\r\n }\r\n\r\n getCriteriaStringsOfType(item: SearchItemListViewObject, typeId: number): string[] {\r\n return item.criteria?.find(criterionData => criterionData.typeId === typeId)?.criteria ?? [];\r\n }\r\n\r\n public resizeHandler() {\r\n if (this.tableContainer) {\r\n this.tableSize = this.tableContainer.clientWidth;\r\n }\r\n }\r\n\r\n noteId(searchItem: SearchItemListViewObject) {\r\n return `note-list-${this.commonId(searchItem)}`;\r\n }\r\n\r\n commonId(searchItem: SearchItemListViewObject) {\r\n return `${this.isProcurement(this.getSearchItem(searchItem)) ? 'proc' : 'proj'}-${searchItem.id}`;\r\n }\r\n\r\n firstListWithObject(searchItem: Procurement | Project | ProcurementReference): List {\r\n if (this.isOnList(searchItem)) {\r\n return this.$vmx.list.listsWithObject(searchItem)[0];\r\n }\r\n return null;\r\n }\r\n\r\n isOnList(searchItem: Procurement | Project | ProcurementReference): boolean {\r\n return this.$vmx.list.isInList(searchItem);\r\n }\r\n\r\n isProcurement(item: Procurement | Project | ProcurementReference) {\r\n return globalFunctions.isProcurementOrProcurementReference(item);\r\n }\r\n\r\n\r\n isBlacklistedSharedPred(data: SearchItemListViewObject) {\r\n if (!this.colorSharedBlacklist) {\r\n return false;\r\n }\r\n const isProcurement = data.isProcurement;\r\n return this.$vmx.blacklist.blacklists.some((blacklist: Blacklist) => {\r\n if (isProcurement && data.id == blacklist.procurementId) {\r\n return blacklist.usersIds.length >= 2;\r\n } else if (!isProcurement && data.id == blacklist.projectId) {\r\n return blacklist.usersIds.length >= 2;\r\n }\r\n return false;\r\n })\r\n }\r\n\r\n showAtSize(minSize: number) {\r\n return [\r\n this.tableSize < minSize ? 'd-none' : '',\r\n ];\r\n }\r\n\r\n minWidthAtSize(minSize: number) {\r\n return [\r\n this.tableSize < minSize ? 'min-width-10-rem' : '',\r\n ];\r\n }\r\n\r\n private routerLink(item: SearchItemListViewObject) {\r\n return {\r\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: item.id.toString() },\r\n };\r\n }\r\n\r\n routeToViewPage(item: SearchItemListViewObject) {\r\n this.$router.push({\r\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: item.id.toString() },\r\n });\r\n }\r\n\r\n private blockSlowClicks() {\r\n this.allowClick = true;\r\n globalFunctions.timeout(100).then(() => {\r\n this.allowClick = false;\r\n });\r\n }\r\n\r\n private createObjectFromProject(project: Project): SearchItemListViewObject {\r\n const criteria: {typeId: number, criteria: string[]}[] = [];\r\n if (project.criteria) {\r\n for (const criterion of project.criteria) {\r\n if (criteria.some(c => c.typeId === criterion.id)) {\r\n criteria.find(c => c.typeId === criterion.id).criteria.push(criterion.name);\r\n } else {\r\n criteria.push({\r\n typeId: criterion.typeId,\r\n criteria: [criterion.name],\r\n });\r\n }\r\n }\r\n }\r\n return {\r\n id: project.id,\r\n isProcurement: false,\r\n isChild: false,\r\n isLastChild: false,\r\n coverImage: project.coverImage,\r\n name: project.name,\r\n phase: project.projectPhase.name,\r\n criteria,\r\n price: project.budget,\r\n deadline: this.$t('general.emptyField').toString(),\r\n published: project.published,\r\n updated: project.lastUpdateDate,\r\n _showDetails: true,\r\n notes: project.notes ? project.notes : null,\r\n };\r\n }\r\n\r\n private createObjectFromProcurement(\r\n procurement: Procurement,\r\n ): SearchItemListViewObject {\r\n const criteria: {typeId: number, criteria: string[]}[] = [];\r\n if (procurement.criteria) {\r\n for (const criterion of procurement.criteria) {\r\n if (criteria.some(c => c.typeId === criterion.id)) {\r\n criteria.find(c => c.typeId === criterion.id).criteria.push(criterion.name);\r\n } else {\r\n criteria.push({\r\n typeId: criterion.typeId,\r\n criteria: [criterion.name],\r\n });\r\n }\r\n }\r\n }\r\n return {\r\n id: procurement.id,\r\n isProcurement: true,\r\n isChild: false,\r\n isLastChild: false,\r\n name: procurement.name,\r\n phase: procurement.procurementPhase.name,\r\n criteria,\r\n price: procurement.budget,\r\n deadline: this.nextDeadline(procurement),\r\n published: procurement.published,\r\n updated: procurement.lastUpdateDate,\r\n _showDetails: true,\r\n notes: procurement.notes ? procurement.notes : null,\r\n };\r\n }\r\n\r\n private createObjectFromProcurementReference(\r\n procurementReference: ProcurementReference,\r\n isLastChild?: boolean,\r\n ): SearchItemListViewObject {\r\n return {\r\n id: procurementReference.id,\r\n isProcurement: true,\r\n isChild: true,\r\n isLastChild: isLastChild,\r\n name: procurementReference.name,\r\n phase: procurementReference.procurementPhase,\r\n criteria: procurementReference.criteria,\r\n price: procurementReference.budget,\r\n deadline: this.nextDeadline(procurementReference),\r\n published: procurementReference.published,\r\n updated: procurementReference.lastUpdateDate,\r\n _showDetails: true,\r\n };\r\n }\r\n\r\n private getSearchItem(item: SearchItemListViewObject) {\r\n for (const searchItem of this.searchItems) {\r\n if (this.itemsMatch(item, searchItem)) {\r\n return searchItem;\r\n } else if (\r\n item.isChild\r\n && !globalFunctions.isProcurementOrProcurementReference(searchItem)\r\n && searchItem.procurements && searchItem.procurements.length > 0\r\n ) {\r\n for (const proc of searchItem.procurements) {\r\n if (this.itemsMatch(item, proc)) {\r\n return proc;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private itemsMatch(item: SearchItemListViewObject, searchItem: Project | Procurement | ProcurementReference): boolean {\r\n return item.id === searchItem.id && item.isProcurement === globalFunctions.isProcurementOrProcurementReference(searchItem);\r\n }\r\n\r\n private rowClicked(\r\n item: SearchItemListViewObject,\r\n index: number,\r\n event: BvEvent,\r\n ) {\r\n if (this.allowClick) {\r\n this.$router.push({\r\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: item.id.toString() },\r\n });\r\n }\r\n }\r\n\r\n private nextDeadline(searchItem: ProcurementReference | Procurement): string {\r\n if (\r\n this.isNextDeadline(\r\n searchItem.materialTo,\r\n searchItem.offersTo,\r\n searchItem.inquiryTo,\r\n searchItem.participationTo,\r\n )\r\n ) {\r\n return formatUtils.formatDate(searchItem.materialTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n searchItem.offersTo,\r\n searchItem.materialTo,\r\n searchItem.inquiryTo,\r\n searchItem.participationTo,\r\n )\r\n ) {\r\n return formatUtils.formatDate(searchItem.offersTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n searchItem.inquiryTo,\r\n searchItem.materialTo,\r\n searchItem.offersTo,\r\n searchItem.participationTo,\r\n )\r\n ) {\r\n return formatUtils.formatDate(searchItem.inquiryTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n searchItem.participationTo,\r\n searchItem.materialTo,\r\n searchItem.offersTo,\r\n searchItem.inquiryTo,\r\n )\r\n ) {\r\n return formatUtils.formatDate(searchItem.participationTo, 'DD.MM.YYYY');\r\n }\r\n return this.$t('general.emptyField').toString();\r\n }\r\n\r\n private sanitizedText(s: string): string {\r\n if (s == null) {\r\n return '…';\r\n }\r\n var span = document.createElement('span');\r\n span.innerHTML = s;\r\n if (span.innerText.length < 200) {\r\n return span.innerText;\r\n } else {\r\n return span.innerText.substr(0, 199) + '…';\r\n }\r\n }\r\n\r\n private isNextDeadline(\r\n date1: string,\r\n date2: string,\r\n date3: string,\r\n date4: string,\r\n ) {\r\n const now = moment.now();\r\n if (date1 == null) {\r\n return false;\r\n } else if (moment(date1).isBefore(now)) {\r\n return false;\r\n } else if (\r\n date2 != null &&\r\n moment(date2).isAfter(now) &&\r\n moment(date2).isBefore(date1)\r\n ) {\r\n return false;\r\n } else if (\r\n date3 != null &&\r\n moment(date3).isAfter(now) &&\r\n moment(date3).isBefore(date1)\r\n ) {\r\n return false;\r\n } else if (\r\n date4 != null &&\r\n moment(date4).isAfter(now) &&\r\n moment(date4).isBefore(date1)\r\n ) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private imageFromFile(file: File) {\r\n if (file) {\r\n return 'url(' + (file.link ? file.link : this.$vmx.file.fromFile(`${file.code}.${file.extension}`, '1x1')) + ')';\r\n } else {\r\n return 'url(' + this.$vmx.file.fromFile(null, '1x1') + ')';\r\n }\r\n }\r\n\r\n firstCriteriaText(text: string): string {\r\n return text ? this.formatText(text, 15) : (this.$t('general.emptyField') as string);\r\n }\r\n\r\n private formatDate(date: string) {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n\r\n private formatText(text: string, maxChars: number) {\r\n if (text.length > maxChars) {\r\n return text.substring(0, maxChars) + '…';\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n blacklistRemoved(blacklist: Blacklist) {\r\n this.$emit('blacklistRemoved', blacklist)\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n for (const searchItem of this.items) {\r\n const note = searchItem.notes.find((note) => note.id == id);\r\n if (note) {\r\n this.selectedNote = note;\r\n this.openModal(`delete-${this.noteId(searchItem)}`);\r\n }\r\n }\r\n }\r\n\r\n noteSaved(note: Note) {\r\n const searchItem = this.searchItems.find((searchItem) => {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(searchItem);\r\n return searchItem.id === (isProcurement ? this.selectedNote.procurementId : note.projectId);\r\n });\r\n if (searchItem.notes.some((x) => x.id === note.id)) {\r\n searchItem.notes = searchItem.notes.map((obj) =>\r\n obj.id === note.id ? note : obj,\r\n );\r\n } else {\r\n searchItem.notes.push(note);\r\n searchItem.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n noteDeleted(id: number) {\r\n const searchItem = this.searchItems.find((searchItem) => {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(searchItem);\r\n return searchItem.id === (isProcurement ? this.selectedNote.procurementId : this.selectedNote.projectId);\r\n });\r\n searchItem.notes.splice(\r\n searchItem.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-items-list-view.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-items-list-view.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-items-list-view.vue?vue&type=template&id=30845095&scoped=true&\"\nimport script from \"./search-items-list-view.vue?vue&type=script&lang=ts&\"\nexport * from \"./search-items-list-view.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./search-items-list-view.vue?vue&type=style&index=0&id=30845095&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30845095\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-xl-4 col-lg-6 me-sm-auto my-2\"},[_c('SearchInput',{attrs:{\"placeholder\":_vm.$t('pages.lists.filterTitle'),\"button\":\"\",\"border-bottom\":false,\"background-color\":\"var(--color-white)\",\"route-on-filter\":false},on:{\"input\":function($event){return _vm.onFilterText(_vm.filterText)}},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:\"filterText\"}})],1),_c('div',{staticClass:\"col-12 col-sm-auto ms-auto my-2\"},[_c('div',{staticClass:\"d-flex d-row justify-content-end h-100\"},[(_vm.onShowBlacklistsed != null)?_c('BaseInputCheckbox',{staticClass:\"me-3\",attrs:{\"text\":_vm.$t('pages.lists.showAll'),\"on-click\":_vm.onShowBlacklistsed != null ? _vm.onShowBlacklistsed() : null}}):_vm._e(),_c('DropdownOrderBy',{staticClass:\"me-3\",attrs:{\"variant\":\"outline-primary\",\"size\":\"lg\",\"options\":_vm.sortingOptions.map(function (v) { return v[0]; })},on:{\"input\":function($event){return _vm.returnOrderBy()}},model:{value:(_vm.orderBy),callback:function ($$v) {_vm.orderBy=$$v},expression:\"orderBy\"}}),_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"asc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-up']}})]},proxy:true},{key:\"desc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-down']}})]},proxy:true}]),model:{value:(_vm.orderByDesc),callback:function ($$v) {_vm.orderByDesc=$$v},expression:\"orderByDesc\"}})],1)]),_c('div',{staticClass:\"col-12 col-sm-auto d-flex d-row justify-content-end my-2\"},[_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"card\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fas', 'th-large']}})]},proxy:true},{key:\"list\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'list']}})]},proxy:true}]),model:{value:(_vm.viewType),callback:function ($$v) {_vm.viewType=$$v},expression:\"viewType\"}})],1)])]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex align-items-center\"},[_c('BaseButton',{attrs:{\"id\":\"order-by-dropdown\",\"size\":_vm.size,\"with-spinner\":false,\"variant\":\"outline-primary\",\"bs-toggle\":\"dropdown\",\"disabled\":_vm.disabled},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.options),function(option){return _c('li',{key:option,staticClass:\"dropdown-item user-select-none clickable\",on:{\"click\":function($event){_vm.orderBy = option}}},[_vm._v(\" \"+_vm._s(option)+\" \")])}),0)]},proxy:true}])},[_c('div',{staticClass:\"d-flex d-row justify-content-between align-items-center\"},[(_vm.orderBy == null)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('components.sorting.title'))+\" \")]):_c('span',{staticClass:\"me-1\"},[_vm._v(_vm._s(_vm.orderBy))]),_c('FontAwesomeIcon',{staticClass:\"ms-1\",attrs:{\"icon\":['fal', 'chevron-down']}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class DropdownOrderBy extends Vue {\r\n @VModel() orderBy: string;\r\n @Prop({default: 'primary'}) variant: string;\r\n @Prop({default: ''}) size: string;\r\n @Prop({required: true}) options: Object;\r\n @Prop({default: false}) disabled: boolean;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-order-by.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-order-by.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-order-by.vue?vue&type=template&id=c45cc39a&scoped=true&\"\nimport script from \"./dropdown-order-by.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-order-by.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c45cc39a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-input input-group\"},[(_vm.searchOptions && _vm.searchOptions.length > 1)?_c('button',{staticClass:\"btn btn-outline-primary dropdown-toggle\",attrs:{\"data-bs-toggle\":\"dropdown\"}},[_vm._v(\" \"+_vm._s(_vm.searchSelect ? _vm.$t((\"pages.search.textSearchDropdown.\" + _vm.searchSelect)) : 'N/A')+\" \")]):_vm._e(),(_vm.searchOptions && _vm.searchOptions.length > 1)?_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.searchOptions),function(option){return _c('li',{key:option},[_c('div',{staticClass:\"p-2 dropdown-item\",on:{\"click\":function($event){return _vm.dropdownSelected(option)}}},[_vm._v(\" \"+_vm._s(_vm.$t((\"pages.search.textSearchDropdown.\" + option)))+\" \")])])}),0):_vm._e(),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.text),expression:\"text\",modifiers:{\"trim\":true}},{name:\"debounce\",rawName:\"v-debounce:1500\",value:(_vm.emitSubmit),expression:\"emitSubmit\",arg:\"1500\"},{name:\"debounce\",rawName:\"v-debounce:300\",value:(_vm.emitNotTyping),expression:\"emitNotTyping\",arg:\"300\"}],staticClass:\"form-control shadow-none transparent-background border-top-0 border-end-0 border-start-0 rounded-0\",class:_vm.borderBottom ? '' : 'border-bottom-0',style:({ 'background-color': _vm.backgroundColor }),attrs:{\"type\":\"search\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('button',{staticClass:\"btn btn-white\",on:{\"click\":function($event){return _vm.clear()}}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'times']}})],1),(_vm.button)?_c('button',{staticClass:\"btn btn-primary py-2 px-3\",on:{\"click\":_vm.emitSubmit}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'search'],\"size\":\"lg\"}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class SearchInput extends Vue {\r\n @VModel() text: string;\r\n @Prop({default: ''}) placeholder: string;\r\n @Prop({default: 'transparent'}) backgroundColor: string;\r\n @Prop({default: false, type: Boolean}) button: boolean;\r\n @Prop({default: true, type: Boolean}) borderBottom: boolean;\r\n @Prop({ default: true }) routeOnFilter: boolean;\r\n @Prop({ default: null }) searchOptions: string[];\r\n @Prop({ default: null }) searchSelect: string;\r\n\r\n emitSubmit() {\r\n this.$emit('submit');\r\n }\r\n\r\n emitNotTyping() {\r\n this.$emit('notTyping');\r\n }\r\n\r\n clear() {\r\n this.$emit('input', '');\r\n this.$emit('submit');\r\n }\r\n\r\n dropdownSelected(selected: string) {\r\n this.$emit('searchSelected', selected);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-input.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-input.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-input.vue?vue&type=template&id=7908113f&scoped=true&\"\nimport script from \"./search-input.vue?vue&type=script&lang=ts&\"\nexport * from \"./search-input.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./search-input.vue?vue&type=style&index=0&id=7908113f&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7908113f\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isRemoved)?_c('div',[_c('BaseContainer',{attrs:{\"show-header\":false,\"no-padding\":!_vm.isBlacklisted,\"rounded\":2}},[(_vm.isBlacklisted)?_c('div',[_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col-auto\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.blacklisted'))+\" \")]),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[(_vm.blacklistHasMoreUsers)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.removeUserFromBlacklist}},[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.cancelBlacklistMe'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteBlacklist}},[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.cancelBlacklistAll'))+\" \")])],1)])])])]):_c('div',[_c('div',{staticClass:\"row\"},[(!_vm.isProcurement)?_c('div',{staticClass:\"col-2 d-none d-sm-block\"},[_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":_vm.routerLink},on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }}}},[_c('div',{staticClass:\"project-image h-100 pt-4\",class:_vm.hasProcurements ? 'rounded-top-start' : 'rounded-start',style:({ 'background-image': _vm.imageFromFile(_vm.searchItem.coverImage, '3x1') })},[_c('div',{staticClass:\"bg-trademark rounded-end py-1 ps-4 pe-3 text-white no-hyphens me-1-negative text-capitalize roboto-lg\"},[_vm._v(\" \"+_vm._s(_vm.$tc('general.resultTypes.project', 1))+\" \")])])])],1):_vm._e(),_c('div',{class:[_vm.isProcurement ? 'col' : 'col-10']},[_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":_vm.routerLink}},[_c('div',{class:_vm.cardPadding},[_c('div',{staticClass:\"py-4\"},[_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[(_vm.isProcurement)?_c('div',{staticClass:\"me-2\"},[_c('div',{staticClass:\"bg-trademark rounded-end py-1 ps-4 pe-2 no-hyphens text-white text-center text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$tc('general.resultTypes.procurement', 1))+\" \")])]):_vm._e(),_c('div',{staticClass:\"roboto-xxl text-ellipsis flex-fill\"},[_vm._v(\" \"+_vm._s(_vm.searchItem.name)+\" \")])])]),_c('div',{staticClass:\"pb-3\",class:{ 'ps-4': _vm.isProcurement }},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('div',[_c('b',[_vm._v(_vm._s(_vm.$t('general.criteria.phase'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.isProcurement ? _vm.searchItem.procurementPhase == null ? 'N/A' : _vm.searchItem.procurementPhase.name : _vm.searchItem.projectPhase == null ? 'N/A' : _vm.searchItem.projectPhase.name)+\" \")]),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(_vm.isProcurement)),function(criterionType){return _c('div',{key:criterionType.id},[_c('b',[_vm._v(_vm._s(_vm.$tc(criterionType.translationProperty, 2))+\":\")]),_vm._v(\" \"+_vm._s(_vm.getCriteriaNamesOfType(criterionType.id).join(', '))+\" \")])}),_c('div',[_c('b',[_vm._v(_vm._s(_vm.$t('general.criteria.contractSum'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.searchItem.budget == null ? _vm.$t('general.emptyField') : _vm.searchItem.budget.toLocaleString('da') + ' kr.')+\" \")]),(!_vm.isProcurement)?_c('div',[_c('b',[_vm._v(_vm._s(_vm.$t('general.criteria.startEndOptions.start'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.searchItem.start == null || _vm.searchItem.start.trim() == '' ? _vm.$t('general.emptyField') : _vm.searchItem.start)+\" \")]):_vm._e(),(!_vm.isProcurement)?_c('div',[_c('b',[_vm._v(_vm._s(_vm.$t('general.criteria.startEndOptions.end'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.searchItem.end == null || _vm.searchItem.end.trim() == '' ? 'N/A' : _vm.searchItem.end)+\" \")]):_vm._e(),(_vm.isProcurement)?_c('div',[_c('b',[_vm._v(_vm._s(_vm.$t('components.itemCard.nextDeadline'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.nextDeadline == null ? 'N/A' : _vm.nextDeadline)+\" \")]):_vm._e()],2),_c('div',{staticClass:\"col-auto\"},[_c('DropdownUpdates',{attrs:{\"size\":\"lg\",\"icon-size\":\"1x\",\"label\":_vm.$tc('general.latestUpdate', 2),\"item-id\":_vm.searchItem.id,\"is-project\":!_vm.isProcurement}})],1)])]),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('div',{staticClass:\"six-lines-then-ellipsis\",domProps:{\"innerHTML\":_vm._s(_vm.sanitizedText(_vm.isProcurement ? _vm.searchItem.summary : _vm.searchItem.description))}})]),_c('div',{staticClass:\"col-12 col-sm-6 roboto-sm\"},[(_vm.searchItem.lastUpdateDate)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.lastUpdated', [_vm.formatDate(_vm.searchItem.lastUpdateDate)]))+\" \")]):_vm._e(),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.itemCard.published', [ _vm.searchItem.published != null ? _vm.formatDate(_vm.searchItem.published) : _vm.$t('general.emptyField') ]))+\": \")])]),_c('div',{staticClass:\"col-12 col-sm-6\"},[_c('IconBar',{attrs:{\"id\":(\"search-icon-bar-\" + (_vm.searchItem.id)),\"data-object\":_vm.searchItem,\"variant\":\"white\"}})],1)])])])])],1)]),(_vm.hasProcurements)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"bg-trademark rounded-bottom py-2\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-2 col-sm-1\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":_vm.showProcurements ? 'minus' : 'plus',\"tool-tip-text\":_vm.$t('components.itemCard.showProcurements')},on:{\"click\":function($event){_vm.showProcurements = !_vm.showProcurements}}})],1),_c('div',{staticClass:\"col text-white fw-medium\"},[_vm._v(\" \"+_vm._s(_vm.$tc(_vm.relatedProcurementText, _vm.searchItem.procurements.length, [ _vm.searchItem.procurements.length ]))+\" \")])])])])]):_vm._e()])]),(_vm.hasProcurements && _vm.showProcurements)?_c('div',{staticClass:\"pt-2\"},[_c('SearchItemsListView',{attrs:{\"search-items\":_vm.searchItem.procurements}})],1):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\r\nimport { File } from '@/interfaces/file';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport IconBar from '@/components/containers/icon-bar.vue';\r\nimport { List } from '@/interfaces/list';\r\nimport moment from 'moment';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\n\r\n@Component({\r\n components: {\r\n DropdownUpdates,\r\n IconBar,\r\n SearchItemsListView,\r\n },\r\n})\r\nexport default class SearchItemCard extends Vue {\r\n @Prop({ required: true }) searchItem: Procurement | Project;\r\n @Prop({ default: false }) hideProcurements: boolean;\r\n @Prop({ default: 'components.itemCard.relatedProcurements' }) relatedProcurementText: string;\r\n @Prop() generalModalId: string;\r\n\r\n\r\n get blacklistModalId() {\r\n return `modal-blacklist-${this.commonId}`;\r\n }\r\n\r\n get listModalId() {\r\n return `modal-list-${this.commonId}`;\r\n }\r\n\r\n get commonId() {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.searchItem);\r\n return `${isProcurement ? 'proc' : 'proj'}-${this.searchItem.id}`;\r\n }\r\n\r\n get firstListWithObject(): List {\r\n if (this.isOnList) {\r\n return this.$vmx.list.listsWithObject(this.searchItem)[0];\r\n }\r\n return null;\r\n }\r\n\r\n get isOnList(): boolean {\r\n return this.$vmx.list.isInList(this.searchItem);\r\n }\r\n\r\n get cardPadding() {\r\n return [\r\n this.isProcurement ? 'pe-4' : 'px-4 ps-sm-0',\r\n ];\r\n }\r\n\r\n get isBlacklisted(): boolean {\r\n return this.$vmx.blacklist.isOnUserBlacklist(this.searchItem);\r\n }\r\n\r\n get blacklist(): Blacklist {\r\n const isProcurement = globalFunctions.isProcurement(this.searchItem);\r\n return this.$vmx.blacklist.userBlacklists.find((blacklist) =>\r\n this.searchItem.id == (isProcurement ? blacklist.procurementId : blacklist.projectId),\r\n );\r\n }\r\n\r\n get blacklistHasMoreUsers(): boolean {\r\n return this.blacklist ? this.blacklist.usersIds.length > 1 : false;\r\n }\r\n\r\n async deleteBlacklist() {\r\n try {\r\n await this.$vmx.blacklist.deleteBlacklist(this.blacklist.id);\r\n this.error = false;\r\n } catch (error) {\r\n this.error = true;\r\n }\r\n }\r\n\r\n async removeUserFromBlacklist() {\r\n if (this.blacklist) {\r\n const blacklist = this.blacklist;\r\n try {\r\n blacklist.usersIds = blacklist.usersIds.filter((userId) => userId !== this.$vmx.user.user.id);\r\n await this.$vmx.blacklist.pushBlacklist(blacklist);\r\n this.error = false;\r\n } catch (error) {\r\n this.error = true;\r\n }\r\n } else {\r\n this.error = true;\r\n }\r\n }\r\n\r\n public nextDeadline: string = null;\r\n isRemoved = false;\r\n showProcurements = true;\r\n error = false;\r\n\r\n created() {\r\n if (this.hideProcurements) {\r\n this.showProcurements = false;\r\n }\r\n if (globalFunctions.isProcurement(this.searchItem)) {\r\n if (\r\n this.isNextDeadline(\r\n this.searchItem.materialTo,\r\n this.searchItem.offersTo,\r\n this.searchItem.inquiryTo,\r\n this.searchItem.participationTo,\r\n )\r\n ) {\r\n this.nextDeadline =\r\n formatUtils.formatDate(this.searchItem.materialTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n this.searchItem.offersTo,\r\n this.searchItem.materialTo,\r\n this.searchItem.inquiryTo,\r\n this.searchItem.participationTo,\r\n )\r\n ) {\r\n this.nextDeadline =\r\n formatUtils.formatDate(this.searchItem.offersTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n this.searchItem.inquiryTo,\r\n this.searchItem.materialTo,\r\n this.searchItem.offersTo,\r\n this.searchItem.participationTo,\r\n )\r\n ) {\r\n this.nextDeadline =\r\n formatUtils.formatDate(this.searchItem.inquiryTo, 'DD.MM.YYYY');\r\n } else if (\r\n this.isNextDeadline(\r\n this.searchItem.participationTo,\r\n this.searchItem.materialTo,\r\n this.searchItem.offersTo,\r\n this.searchItem.inquiryTo,\r\n )\r\n ) {\r\n this.nextDeadline = formatUtils.formatDate(\r\n this.searchItem.participationTo,\r\n 'DD.MM.YYYY',\r\n );\r\n }\r\n }\r\n }\r\n\r\n sanitizedText(s: string): string {\r\n if (s == null) {\r\n return '…';\r\n }\r\n var span = document.createElement('span');\r\n span.innerHTML = s;\r\n return span.innerText;\r\n }\r\n\r\n isNextDeadline(date1: string, date2: string, date3: string, date4: string) {\r\n const now = moment.now();\r\n if (date1 == null) {\r\n return false;\r\n } else if (moment(date1).isBefore(now)) {\r\n return false;\r\n } else if (date2 != null && moment(date2).isAfter(now) && moment(date2).isBefore(date1)) {\r\n return false;\r\n } else if (date3 != null && moment(date3).isAfter(now) && moment(date3).isBefore(date1)) {\r\n return false;\r\n } else if (date4 != null && moment(date4).isAfter(now) && moment(date4).isBefore(date1)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n get hasProcurements(): boolean {\r\n return !globalFunctions.isProcurement(this.searchItem)\r\n && this.searchItem.procurements != null\r\n && this.searchItem.procurements.length > 0;\r\n }\r\n\r\n getCriteriaNamesOfType(typeId: number): string[] {\r\n return this.searchItem.criteria?.filter(c => c.typeId === typeId).map(c => c.name) ?? [];\r\n }\r\n\r\n openPage() {\r\n this.$router.push({\r\n name: this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: this.searchItem.id.toString() },\r\n });\r\n }\r\n\r\n get routerLink() {\r\n return {\r\n name: this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: this.searchItem.id.toString() },\r\n };\r\n }\r\n\r\n get isProcurement(): boolean {\r\n return globalFunctions.isProcurement(this.searchItem);\r\n }\r\n\r\n\r\n public imageFromFile(file: File, backupImageFormat?: string) {\r\n if (file) {\r\n return 'url(' + (file.link ? file.link : this.$vmx.file.fromFile(`${file.code}.${file.extension}`, backupImageFormat)) + ')';\r\n } else {\r\n return 'url(' + this.$vmx.file.fromFile(null, backupImageFormat) + ')';\r\n }\r\n }\r\n\r\n public formatDate(date: string) {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-item-card.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./search-item-card.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-item-card.vue?vue&type=template&id=55940704&scoped=true&\"\nimport script from \"./search-item-card.vue?vue&type=script&lang=ts&\"\nexport * from \"./search-item-card.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./search-item-card.vue?vue&type=style&index=0&id=55940704&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55940704\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport ListItemCard from '@/components/cards/list-item-card.vue';\r\nimport moment from 'moment';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\nimport { TranslateResult } from 'vue-i18n';\r\n\r\n@Component({\r\n components: {\r\n DropdownOrderBy,\r\n ListItemCard,\r\n SearchItemCard,\r\n SearchInput,\r\n SearchItemsListView,\r\n },\r\n})\r\nexport default class SmallListLayout extends Vue {\r\n @Prop({ default: null }) emptyListText: string;\r\n @Prop({ default: true }) listViewDefault: boolean;\r\n\r\n // Callbacks\r\n @Prop({ required: true }) onFilterText: (val: string) => void;\r\n @Prop({ default: null }) onShowBlacklistsed: (val: boolean) => void;\r\n @Prop({ required: true }) onOrderBy: (val: (a: Project | Procurement, b: Project | Procurement) => number) => void;\r\n @Prop({ required: true }) onListView: (val: boolean) => void;\r\n\r\n filterText = '';\r\n orderBy: TranslateResult = null;\r\n orderByDescending = true;\r\n listView = true;\r\n\r\n created() {\r\n this.orderBy = this.sortingOptions[0][0];\r\n }\r\n\r\n mounted() {\r\n this.listView = this.listViewDefault;\r\n this.returnOrderBy();\r\n }\r\n\r\n resultsForList: (Procurement | Project)[] = null;\r\n resultsForCard: (Procurement | Project)[] = null;\r\n\r\n sortingOptions: [TranslateResult, (a: Project | Procurement, b: Project | Procurement) => number][] = [\r\n [ this.$t('components.sorting.updated'), this.compareLatestUpdate ],\r\n [ this.$t('components.sorting.contractSum'), (a, b) => b.budget - a.budget ],\r\n [ this.$t('components.sorting.published'), (a, b) => moment(a.published).isBefore(moment(b.published)) ? 1 : -1 ],\r\n ]\r\n\r\n get orderByDesc() {\r\n return this.orderByDescending ? 'desc' : 'asc'\r\n }\r\n\r\n set orderByDesc(val: string) {\r\n this.orderByDescending = val === 'desc';\r\n this.returnOrderBy();\r\n }\r\n\r\n get viewType() {\r\n return this.listView ? 'list' : 'card';\r\n }\r\n\r\n set viewType(val: string) {\r\n this.listView = val === 'list';\r\n this.onListView(this.listView);\r\n }\r\n\r\n returnOrderBy() {\r\n for (const [sortName, sortMethod] of this.sortingOptions) {\r\n if (sortName == this.orderBy) {\r\n if (this.orderByDescending) {\r\n this.onOrderBy(sortMethod);\r\n } else {\r\n this.onOrderBy((a, b) => sortMethod(b, a));\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n\r\n compareLatestUpdate(a: Procurement | Project, b: Procurement | Project) {\r\n if (!a.lastUpdateDate) return 1;\r\n if (!b.lastUpdateDate) return -1;\r\n return moment(a.lastUpdateDate).isAfter(moment(b.lastUpdateDate)) ? -1 : 1;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./small-list-layout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./small-list-layout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./small-list-layout.vue?vue&type=template&id=b1b8cd90&\"\nimport script from \"./small-list-layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./small-list-layout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as blacklistUtil from '@/util/blacklist-utils';\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { blacklistService } from '@/services/restapi/blacklist-service';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport ListItemCard from '@/components/cards/list-item-card.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\nimport SmallListLayout from '@/components/layouts/small-list-layout.vue';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n ListItemCard,\r\n SearchItemsListView,\r\n SmallListLayout,\r\n },\r\n})\r\nexport default class BlacklistView extends Vue {\r\n public blacklistedItems: (Project | Procurement)[] = null;\r\n public filterText = '';\r\n public listView = true;\r\n loading = true;\r\n limit = 20;\r\n showMoreLimit = 20;\r\n cleanForAll = false;\r\n cleanupError = false;\r\n cleanupModalId='cleanup-blacklist-modal';\r\n\r\n mounted() {\r\n this.resetBlacklistPage();\r\n }\r\n\r\n get blacklists(): Blacklist[] {\r\n return this.$vmx.blacklist.userBlacklists;\r\n }\r\n\r\n get emptyListText() {\r\n if (this.blacklistedItems != null) {\r\n return null;\r\n }\r\n if (this.filterText.length != 0) {\r\n return this.$t('components.sorting.noResults', [this.filterText]);\r\n }\r\n return 'Du har ikke nogle skjulte udbud eller projekter.';\r\n }\r\n \r\n get allResults() {\r\n if (this.filterText) {\r\n return this.blacklistedItems.filter((item) =>\r\n item.name.toLowerCase().includes(this.filterText.toLowerCase()),\r\n );\r\n } else {\r\n return this.blacklistedItems;\r\n }\r\n }\r\n\r\n get itemResults() {\r\n const resultcopy = [... this.allResults];\r\n return resultcopy.splice(0, this.limit);\r\n }\r\n\r\n get showAddtoLimit(): boolean {\r\n return this.limit <= this.allResults.length;\r\n }\r\n\r\n @Watch('$vmx.blacklist.blacklists')\r\n blacklistRemoved(blacklist: Blacklist) {\r\n this.blacklistedItems = this.blacklistedItems?.filter(\r\n (item) =>\r\n item.id !==\r\n (globalFunctions.isProcurement(item) ? blacklist.procurementId : blacklist.projectId),\r\n ) ?? [];\r\n this.$vmx.search.resetPage();\r\n }\r\n\r\n addToLimit() {\r\n this.limit = this.limit + this.showMoreLimit;\r\n }\r\n\r\n async cleanupBlacklist() {\r\n this.cleanupError = false;\r\n await blacklistService.cleanupBlacklist(this.cleanForAll).then(() => {\r\n this.hideModal();\r\n this.resetBlacklistPage();\r\n }).catch(reason => {\r\n this.cleanupError = true;\r\n })\r\n }\r\n\r\n filterFunc(val: Procurement | Project): boolean {\r\n return blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.cleanupModalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n // SmallListLayout Callbacks\r\n onFilterText(val: string) {\r\n this.filterText = val;\r\n }\r\n\r\n onOrderBy(val: (a: Project | Procurement, b: Project | Procurement) => number) {\r\n this.blacklistedItems = this.blacklistedItems.sort(val);\r\n }\r\n\r\n onListView(val: boolean) {\r\n this.listView = val;\r\n }\r\n\r\n openModal() {\r\n const element = document.getElementById(this.cleanupModalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n resetBlacklistPage() {\r\n this.loading = true;\r\n this.blacklistedItems = [];\r\n blacklistService.getAllProcurementsAndProjects().then((value) => {\r\n this.blacklistedItems = [...value];\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./blacklist-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./blacklist-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./blacklist-view.vue?vue&type=template&id=9fd7c2c0&\"\nimport script from \"./blacklist-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./blacklist-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./blacklist-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-center bg-background gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('pages.changePassword.title'))+\" \")])]),_c('div',{staticClass:\"col-12 col-xl-8\"},[_c('FormChangePassword',{attrs:{\"token\":_vm.resetToken}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport FormChangePassword from '@/components/forms/form-change-password.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n@Component({\r\n components: {\r\n FormChangePassword,\r\n TheHeader,\r\n },\r\n})\r\nexport default class ChangePasswordView extends Vue {\r\n @Prop({ required: true }) resetToken: string;\r\n\r\n getBackground(fileName: string) {\r\n return 'url(' + this.$vmx.file.fromFile('project-agent/backgrounds/' + fileName) + ')';\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./change-password-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./change-password-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./change-password-view.vue?vue&type=template&id=3f182dd0&\"\nimport script from \"./change-password-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./change-password-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./change-password-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$vmx.user.hasCompanyAccess)?_c('div',[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.error)?_c('Error404',[_c('div',[_vm._v(_vm._s(_vm.$t('general.error')))])]):(_vm.companyList)?_c('div',[_c('div',{staticClass:\"d-flex d-row justify-content-between mb-3\"},[_c('h1',{staticClass:\"fw-medium text-capitalize\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('div',[_c('BaseButtonIcon',{attrs:{\"id\":\"edit-list-button\",\"icon-name\":\"cog\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.modals.list.settings.titleEdit')},on:{\"click\":function($event){return _vm.openCompanyListSettingsModal()}}})],1)]),_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-lg-6 col-xl-4\"},[_c('SearchInput',{attrs:{\"placeholder\":_vm.$t('pages.lists.filterTitle'),\"button\":\"\",\"border-bottom\":false,\"background-color\":\"var(--color-white)\"},on:{\"input\":function($event){return _vm.sort()}},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:\"filterText\"}})],1)])]),(_vm.companies.length > 0)?_c('TableCompanyList',{attrs:{\"companies\":_vm.filteredCompanies}}):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.companyList.empty'))+\" \")])],1):_vm._e()],1)],1):_c('Error401')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('components.errorComponents.error401.header'))+\" \")]),_c('div',{staticClass:\"mb-5\"},[_vm._t(\"default\",function(){return [_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.errorComponents.error401.text'))}})]})],2),_c('div',{staticClass:\"row justify-content-center mt-5\"},[_c('div',{staticClass:\"col-12 col-lg-8\"},[_c('FormBookDemo',{attrs:{\"mode\":\"customer\"}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue';\r\n\r\n@Component({\r\n components: {\r\n FormBookDemo,\r\n },\r\n})\r\nexport default class Error401 extends Vue {\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./error-401.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./error-401.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./error-401.vue?vue&type=template&id=2935fe0e&scoped=true&\"\nimport script from \"./error-401.vue?vue&type=script&lang=ts&\"\nexport * from \"./error-401.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2935fe0e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-list-table\"},[(_vm.companies && _vm.companies.length > 0)?_c('div',{ref:\"tableContainer\"},[_c('div',{staticClass:\"bg-trademark mb-2 text-white\"},[_c('div',{staticClass:\"row fw-bold\"},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"py-1\",class:_vm.colClassesName},[_c('div',{staticClass:\"px-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.columns.companyName'))+\" \")])]),_c('div',{staticClass:\"py-1\",class:_vm.colClassesVatin},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.columns.vatinNumber'))+\" \")]),_c('div',{staticClass:\"py-1\",class:_vm.colClassesAddress},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.columns.address'))+\" \")]),_c('div',{staticClass:\"py-1\",class:_vm.colClassesPhone},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.columns.phoneNr'))+\" \")]),_c('div',{staticClass:\"py-1\",class:_vm.colClassesMail},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.columns.mail'))+\" \")])])])])]),_vm._l((_vm.companies),function(company,index){return _c('div',{key:index,class:[ index < _vm.companies.length ? 'mb-3' : '' ]},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(company.id)}},[_c('div',{staticClass:\"d-flex row-height hoverable-white\",class:_vm.rowClasses(company.companyRoleCount, index)},[_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"row h-100\"},[_c('div',{class:_vm.colClassesName},[_c('div',{staticClass:\"h-100 px-2 d-flex justify-content-between align-items-center\"},[_c('span',{staticClass:\"no-decoration two-lines-then-ellipsis my-auto fw-bold\"},[_vm._v(\" \"+_vm._s(company.companyName)+\" \")]),_c('div',{staticClass:\"d-flex align-items-center\"},[_c('DropdownNotes',{staticClass:\"me-2\",attrs:{\"id\":(\"note-list-\" + (company.id)),\"notes\":company.notes,\"dropdown-size\":\"md\",\"size\":\"sm\",\"no-flip\":\"\",\"icon-size\":\"xs\"},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}}),_c('BaseButtonIcon',{attrs:{\"icon-name\":\"star\",\"type\":_vm.isOnCompanyList(company) ? 'fas' : 'fal',\"size\":\"sm\",\"variant\":\"primary\",\"tool-tip-text\":_vm.$t('components.modals.companyList.tooltip')},on:{\"click\":function($event){return _vm.openCompanyListAddModal(company)}}})],1)])]),_c('div',{class:_vm.colClassesVatin},[_c('div',{staticClass:\"h-100 d-flex align-items-center\"},[_c('span',[_vm._v(\" \"+_vm._s(company.cvr)+\" \")])])]),_c('div',{class:_vm.colClassesAddress},[_c('div',{staticClass:\"h-100 d-flex align-items-center\"},[_c('span',[_vm._v(\" \"+_vm._s(company.address)+\" \")])])]),_c('div',{class:_vm.colClassesPhone},[_c('div',{staticClass:\"h-100 d-flex align-items-center\"},[_c('span',[_vm._v(\" \"+_vm._s(company.phone)+\" \")])])]),_c('div',{class:_vm.colClassesMail},[_c('div',{staticClass:\"h-100 d-flex align-items-center\"},[_c('span',[_vm._v(\" \"+_vm._s(company.mail)+\" \")])])])])])])]),_c('div',{staticClass:\"transition-expand ps-4 pe-2 bg-white\",class:[_vm.isExpanded(index) ? 'open' : 'closed']},[(_vm.isExpanded(index))?_c('CompanyProjectsList',{attrs:{\"company-id\":company.id,\"filters\":false,\"limit\":_vm.projectLimit,\"header-color\":\"trademark\",\"header-text\":\"white\"}}):_vm._e()],1),(company.companyRoleCount > 0)?_c('div',{staticClass:\"bg-white p-2 rounded-bottom d-flex align-items-center\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":_vm.isExpanded(index) ? 'chevron-up' : 'chevron-down',\"type\":\"fal\",\"size\":\"sm\"},on:{\"click\":function($event){_vm.collapseCompany(index, _vm.isExpanded(index))}}}),_c('div',{staticClass:\"ps-2\"},[_vm._v(\" \"+_vm._s(_vm.$tc( 'components.companyListTable.projectCount', company.companyRoleCount < _vm.projectLimit ? company.companyRoleCount : _vm.projectLimit, [company.companyRoleCount < _vm.projectLimit ? company.companyRoleCount : _vm.projectLimit] ))+\" \")])],1):_vm._e()],1)})],2):(!_vm.loading)?_c('div',[_c('BaseContainer',{attrs:{\"show-header\":false}},[_c('div',{staticClass:\"w-100 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListTable.noResults'))+\" \")])])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-projects-list\"},[(!_vm.loading && _vm.items && _vm.items.length > 0)?_c('div',{staticClass:\"mt-2\"},[(_vm.filters)?_c('div',{staticClass:\"d-flex justify-content-end align-items-center\"},[_c('DropdownOrderBy',{staticClass:\"ms-4\",attrs:{\"options\":_vm.sortOptions.map(function (o) { return o[0]; })},model:{value:(_vm.sort),callback:function ($$v) {_vm.sort=$$v},expression:\"sort\"}}),_c('BaseInputSelect',{staticClass:\"ms-4\",scopedSlots:_vm._u([{key:\"asc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-down']}})]},proxy:true},{key:\"desc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-up']}})]},proxy:true}],null,false,2240420158),model:{value:(_vm.order),callback:function ($$v) {_vm.order=$$v},expression:\"order\"}})],1):_vm._e(),_c('div',{ref:\"tableContainer\"},[_c('table',{staticClass:\"table table-hover table-borderless px-0 w-100\"},[_c('thead',{staticClass:\"text-nowrap\"},[_c('tr',[_c('th',{staticClass:\"py-2\",attrs:{\"scope\":\"col\"}}),_c('th',{staticClass:\"py-2\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.columnName'))+\" \")]),_c('th',{staticClass:\"py-2\",class:_vm.showAtSize(535),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.columnRole'))+\" \")]),_c('th',{staticClass:\"py-2\",class:_vm.showAtSize(1080),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.columnPublished'))+\" \")]),_c('th',{staticClass:\"py-2\",class:_vm.showAtSize(1080),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.columnPhase'))+\" \")]),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(false)),function(criterionType){return _c('th',{key:criterionType.id,staticClass:\"py-2\",class:_vm.showAtSize(1200),attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$tc(criterionType.translationProperty, 1))+\" \")])})],2)]),_c('tbody',_vm._l((_vm.shownItems),function(item,index){return _c('tr',{key:index,staticClass:\"table-light\"},[_c('td',{staticClass:\"p-0 bg-background column-width\"},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[_c('div',{staticClass:\"rounded-start h-100 column-width\"},[_c('div',{staticClass:\"project-image rounded-start\",style:({\n 'background-image': (\"url(\" + (_vm.getImageFromFile(item.coverImage, '1x1')) + \")\"),\n })})])])],1),_c('td',{staticClass:\"p-0\"},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[_c('div',{staticClass:\"row-height d-flex justify-content-between align-items-center ps-2 pe-3\"},[_c('div',{staticClass:\"two-lines-then-ellipsis\"},[_vm._v(\" \"+_vm._s(item.name)+\" \")]),_c('DropdownIconBar',{attrs:{\"data-object\":item}})],1)])],1),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(535)},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[_c('div',{staticClass:\"d-flex row-height align-items-center\"},[_c('div',[_c('span',[_vm._v(\" \"+_vm._s(_vm.getRolesForItem(item)[0].role)+\" \")])]),(_vm.getRolesForItem(item).length > 1)?_c('div',{staticClass:\"dropdown ms-1\"},[_c('button',{staticClass:\"btn btn-sm btn-trademark-25 rounded-pill border-0\",attrs:{\"data-bs-toggle\":\"dropdown\"}},[_vm._v(\" +\"+_vm._s(_vm.getRolesForItem(item).length - 1)+\" \")]),_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.getRolesForItem(item)),function(role,index2){return _c('li',{key:index2,staticClass:\"unclickable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('div',{staticClass:\"custom-dropdown-item\"},[_c('span',[_vm._v(\" \"+_vm._s(role.role)+\" \")])])])}),0)]):_vm._e()])])],1),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1080)},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[_c('div',{staticClass:\"row-height d-flex align-items-center\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(item.published))+\" \")])])],1),_c('td',{staticClass:\"p-0\",class:_vm.showAtSize(1080)},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[_c('div',{staticClass:\"row-height d-flex align-items-center\"},[_vm._v(\" \"+_vm._s(item.projectPhase.name)+\" \")])])],1),_vm._l((_vm.$vmx.criterion.highlightedCriterionTypes(false)),function(criterionType){return _c('td',{key:criterionType.id,staticClass:\"p-0\",class:_vm.showAtSize(1200)},[_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerLink(item)}},[(_vm.getCriteriaStringsOfType(item, criterionType.id).length > 0)?_c('div',{staticClass:\"row-height d-flex align-items-center pe-2\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.getCriteriaStringsOfType(item, criterionType.id)[0])+\" \")]),(_vm.getCriteriaStringsOfType(item, criterionType.id).length > 1)?_c('div',{staticClass:\"dropdown ms-1\"},[_c('button',{staticClass:\"btn btn-sm btn-trademark-25 rounded-pill border-0\",attrs:{\"data-bs-toggle\":\"dropdown\"}},[_vm._v(\" +\"+_vm._s(_vm.getCriteriaStringsOfType(item, criterionType.id).length - 1)+\" \")]),_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.getCriteriaStringsOfType(item, criterionType.id)),function(criterionString){return _c('li',{key:criterionString,staticClass:\"unclickable\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_c('div',{staticClass:\"custom-dropdown-item\"},[_vm._v(\" \"+_vm._s(criterionString)+\" \")])])}),0)]):_vm._e()]):_vm._e()])],1)})],2)}),0)])]),_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.itemsToShow > 10)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 mx-4\",on:{\"click\":function($event){_vm.itemsToShow = 10}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeLess'))+\" \")]):_vm._e(),(_vm.itemsToShow < _vm.sortedItems.length)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 mx-4\",on:{\"click\":function($event){_vm.itemsToShow += 10}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")]):_vm._e()])]):(!_vm.loading && _vm.items && _vm.items.length == 0)?_c('BaseContainer',{staticClass:\"mt-2\",attrs:{\"show-header\":false}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.noRoles'))+\" \")]):_vm._e(),(_vm.loading)?_c('BaseLoadingSpinner',{attrs:{\"size\":\"4rem\",\"border-size\":\".75rem\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport { companyService } from '@/services/restapi/company-service';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport moment from 'moment';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { TranslateResult } from 'vue-i18n';\r\n\r\n@Component({\r\n components: {\r\n DropdownIconBar,\r\n DropdownOrderBy,\r\n },\r\n})\r\nexport default class CompanyProjectsList extends Vue {\r\n @Prop({ required: true }) companyId: number;\r\n @Prop({ default: true }) filters: boolean;\r\n @Prop({ default: null }) limit: number;\r\n @Prop({ default: 10 }) itemsToShow: number;\r\n @Prop({ default: 'transparent' }) headerColor: string;\r\n @Prop() headerText: string;\r\n @Ref() tableContainer: HTMLDivElement;\r\n\r\n sortOptions: [TranslateResult, (a: Project, b: Project) => number][] = [\r\n [this.$t('pages.company.companyRoles.sortNewest'), this.comparatorDate],\r\n [this.$t('pages.company.companyRoles.sortName'), this.comparatorItemName],\r\n [this.$t('pages.company.companyRoles.sortPhase'), this.comparatorPhase],\r\n [this.$t('pages.company.companyRoles.sortRole'), this.comparatorRoleName],\r\n ];\r\n\r\n errorCode: number = null;\r\n getImageFromFile = this.$vmx.file.imageFromFile;\r\n items: Array = null;\r\n loading = false;\r\n order: 'asc' | 'desc' = 'asc';\r\n sort: TranslateResult = this.sortOptions[0][0];\r\n tableOptions = {\r\n lg: 1080,\r\n md: 768,\r\n sm: 535,\r\n }\r\n tableSize = 4000;\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n this.loading = true;\r\n this.loadItemsInCompany();\r\n }\r\n\r\n get headerClasses() {\r\n return [\r\n // this.headerColor ? `table-${this.headerColor}` : '',\r\n this.headerColor ? `bg-${this.headerColor}` : '',\r\n this.headerText ? `text-${this.headerText}` : '',\r\n ]\r\n }\r\n\r\n get sortedItems(): Array {\r\n const sortedAndFiltered = [...this.items];\r\n\r\n for (const [sortName, sortMethod] of this.sortOptions) {\r\n if (sortName === this.sort) {\r\n if (this.order === 'asc') {\r\n sortedAndFiltered.sort(sortMethod);\r\n } else {\r\n sortedAndFiltered.sort((a, b) => sortMethod(b, a));\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return sortedAndFiltered;\r\n }\r\n\r\n get shownItems(): Array {\r\n const sortedAndFiltered = this.sortedItems;\r\n return sortedAndFiltered.slice(0, this.itemsToShow);\r\n }\r\n\r\n getCriteriaStringsOfType(item: Project, typeId: number): string[] {\r\n return item.criteria?.filter(criterionData => criterionData.typeId === typeId)?.map(c => c.name) ?? [];\r\n }\r\n\r\n comparatorDate(item1: Project, item2: Project): number {\r\n const isAfter: boolean = dateUtils.isDateStringAfter(item1.published, item2.published);\r\n const isBefore: boolean = dateUtils.isDateStringAfter(item2.published, item1.published);\r\n return isAfter ? -1 : isBefore ? 1 : 0;\r\n }\r\n\r\n comparatorItemName(item1: Project, item2: Project): number {\r\n return item1.name < item2.name ? -1 : item2.name < item1.name ? 1 : 0;\r\n }\r\n\r\n comparatorPhase(item1: Project, item2: Project): number {\r\n const phaseId1 = item1.projectPhase.id;\r\n const phaseId2 = item2.projectPhase.id;\r\n return phaseId1 < phaseId2 ? -1 : phaseId2 < phaseId1 ? 1 : 0;\r\n }\r\n\r\n comparatorRoleName(item1: Project, item2: Project): number {\r\n const role1 = item1.companyRoles[0].role?.name ?? item1.companyRoles[0].roleString ?? this.$t('general.unspecified');\r\n const role2 = item2.companyRoles[0].role?.name ?? item2.companyRoles[0].roleString ?? this.$t('general.unspecified');\r\n return role1 < role2 ? -1 : role2 < role1 ? 1 : 0;\r\n }\r\n\r\n formatDate(date: string) {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n\r\n getDatesForItem(item: Project): string[] {\r\n const dates: string[] = [];\r\n if (item.companyRoles) {\r\n for (const companyRole of item.companyRoles) {\r\n if (companyRole.added) {\r\n dates.push(formatUtils.formatDate(companyRole.added, 'DD.MM.YYYY'));\r\n }\r\n }\r\n }\r\n return dates;\r\n }\r\n\r\n getRolesForItem(item: Project): {role: string, added: string}[] {\r\n const roles: { role: string, added: string }[] = [];\r\n if (item.companyRoles) {\r\n for (const companyRole of item.companyRoles) {\r\n const newRole = {\r\n role: companyRole.role?.name ?? companyRole.roleString ?? this.$t('general.unspecified') as string,\r\n added: companyRole.added ? formatUtils.formatDate(companyRole.added, 'DD.MM.YYYY') : null,\r\n }\r\n roles.push(newRole);\r\n }\r\n }\r\n return roles;\r\n }\r\n\r\n loadItemsInCompany() {\r\n companyService.getItemsForCompany(this.companyId, true, this.limit)\r\n .then(\r\n (items) => {\r\n items.forEach(item => {\r\n item.companyRoles = item.companyRoles.sort((cr1, cr2) => moment(cr1.added).isAfter(moment(cr2.added)) ? 1 : -1)\r\n })\r\n this.items = items as Array;\r\n },\r\n (error) => {\r\n this.errorCode = error;\r\n },\r\n ).finally(() => {\r\n this.loading = false;\r\n })\r\n }\r\n\r\n @Watch('filter')\r\n resetShown() {\r\n this.itemsToShow = 10;\r\n }\r\n\r\n public resizeHandler() {\r\n if (this.tableContainer) {\r\n this.tableSize = this.tableContainer.clientWidth;\r\n }\r\n }\r\n\r\n routerLink(item: Project) {\r\n return {\r\n name: RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: item.id.toString() },\r\n };\r\n }\r\n\r\n showAtSize(minSize: number) {\r\n return [\r\n this.tableSize < minSize ? 'd-none' : '',\r\n ];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-projects-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-projects-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-projects-list.vue?vue&type=template&id=59aa9d9a&scoped=true&\"\nimport script from \"./company-projects-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./company-projects-list.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./company-projects-list.vue?vue&type=style&index=0&id=59aa9d9a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59aa9d9a\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport { Company } from '@/interfaces/company';\r\nimport CompanyProjectsList from '@/components/company-list-components/company-projects-list.vue';\r\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue';\r\nimport { Location } from 'vue-router';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport { Note } from '@/interfaces/note';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component({\r\n components: {\r\n CompanyProjectsList,\r\n DropdownNotes,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n },\r\n})\r\nexport default class TableCompanyList extends Vue {\r\n @Prop() companies: Company[];\r\n @Prop({ default: false }) loading: boolean;\r\n @Ref() tableContainer: HTMLDivElement;\r\n projectLimit = 5;\r\n\r\n unfoldedLists: Array = [];\r\n\r\n selectedNote: Note = null;\r\n tableSize = 4000;\r\n\r\n tableOptions = {\r\n xxl: 1265,\r\n xl: 900,\r\n lg: 768,\r\n md: 535,\r\n sm: 400,\r\n }\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n this.resizeHandler();\r\n }\r\n\r\n activated() {\r\n this.resizeHandler();\r\n }\r\n\r\n get colClassesAddress() {\r\n if (this.tableSize > this.tableOptions.xl) {\r\n return [\r\n 'col-3',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.lg) {\r\n return [\r\n 'col-4',\r\n ];\r\n } else {\r\n return [\r\n 'd-none',\r\n ];\r\n }\r\n }\r\n\r\n get colClassesMail() {\r\n if (this.tableSize > this.tableOptions.xxl) {\r\n return [\r\n 'col-2',\r\n ];\r\n } else {\r\n return [\r\n 'd-none',\r\n ];\r\n }\r\n }\r\n\r\n get colClassesName() {\r\n if (this.tableSize > this.tableOptions.xl) {\r\n return [\r\n 'col-5',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.lg) {\r\n return [\r\n 'col-6',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.md) {\r\n return [\r\n 'col-8',\r\n ];\r\n } else {\r\n return [\r\n 'col-12',\r\n ];\r\n }\r\n }\r\n\r\n get colClassesPhone() {\r\n if (this.tableSize > this.tableOptions.xxl) {\r\n return [\r\n 'col-1',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.xl) {\r\n return [\r\n 'col-2',\r\n ];\r\n } else {\r\n return [\r\n 'd-none',\r\n ];\r\n }\r\n }\r\n\r\n get colClassesVatin() {\r\n if (this.tableSize > this.tableOptions.xxl) {\r\n return [\r\n 'col-1',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.lg) {\r\n return [\r\n 'col-2',\r\n ];\r\n } else if (this.tableSize > this.tableOptions.md) {\r\n return [\r\n 'col-4',\r\n ];\r\n } else {\r\n return [\r\n 'd-none',\r\n ];\r\n }\r\n }\r\n\r\n collapseCompany(companyIndex: number, collapse: boolean) {\r\n if (collapse) {\r\n const index = this.unfoldedLists.indexOf(companyIndex, 0);\r\n if (index >= 0) {\r\n this.unfoldedLists.splice(index, 1);\r\n }\r\n } else if (!this.isExpanded(companyIndex)) {\r\n this.unfoldedLists.push(companyIndex);\r\n }\r\n }\r\n\r\n @Watch('companies')\r\n companiesChanged() {\r\n this.unfoldedLists = [];\r\n }\r\n\r\n isExpanded(index: number) {\r\n return this.unfoldedLists.includes(index);\r\n }\r\n\r\n isOnCompanyList(company: Company): boolean {\r\n return this.$vmx.companyList.isInCompanyList(company);\r\n }\r\n\r\n\r\n noteDeleted(id: number) {\r\n const company = this.companies.find((company) => {\r\n return company.id === this.selectedNote.companyId;\r\n });\r\n company.notes.splice(\r\n company.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n\r\n noteId(id: number) {\r\n return `note-list-company-${id}`;\r\n }\r\n\r\n noteSaved(note: Note) {\r\n const company = this.companies.find((company) => {\r\n return company.id === this.selectedNote.companyId;\r\n });\r\n if (company.notes.some((x) => x.id === note.id)) {\r\n company.notes = company.notes.map((obj) =>\r\n obj.id === note.id ? note : obj,\r\n );\r\n } else {\r\n company.notes.push(note);\r\n company.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n openCompanyListAddModal(company: Company) {\r\n this.$vmx.modal.openCompanyListAddModal(company);\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n for (const company of this.companies) {\r\n const note = company.notes.find((note) => note.id == id);\r\n if (note) {\r\n this.selectedNote = note;\r\n this.openModal(`delete-${this.noteId(company.id)}`);\r\n }\r\n }\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n public resizeHandler() {\r\n if (this.tableContainer) {\r\n this.tableSize = this.tableContainer.clientWidth;\r\n }\r\n }\r\n\r\n roundedAtSize(maxSize: number) {\r\n return [\r\n this.tableSize <= maxSize ? 'rounded-start' : '',\r\n ]\r\n }\r\n\r\n rowClasses(roleCount: number, index: number) {\r\n return [\r\n roleCount !== 0 ? 'border-bottom rounded-top' : 'rounded',\r\n ]\r\n }\r\n\r\n routerLink(id: number): Location {\r\n return {\r\n name: RouterNames.LOGGED_IN_COMPANY_VIEW,\r\n params: { id: id.toString() },\r\n };\r\n }\r\n\r\n showAtSize(minSize: number) {\r\n return [\r\n this.tableSize < minSize ? 'd-none' : '',\r\n ];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-company-list.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-company-list.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./table-company-list.vue?vue&type=template&id=374e1142&scoped=true&\"\nimport script from \"./table-company-list.vue?vue&type=script&lang=ts&\"\nexport * from \"./table-company-list.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./table-company-list.vue?vue&type=style&index=0&id=374e1142&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"374e1142\",\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { companyListService } from '@/services/restapi/company-list-service';\r\nimport Error401 from '@/components/error-components/error-401.vue';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\r\n\r\n@Component({\r\n components: {\r\n Error401,\r\n SearchInput,\r\n TableCompanyList,\r\n },\r\n})\r\nexport default class CompanyListView extends Vue {\r\n @Prop({ required: true }) id: number;\r\n\r\n companies: Company[] = [];\r\n filterText = '';\r\n loading = true;\r\n error = false;\r\n\r\n mounted() {\r\n this.loading = true;\r\n this.$vmx.companyList.fetchCompanyLists().then(() => {\r\n this.updateCompanies().finally(() => {\r\n this.loading = false;\r\n })\r\n });\r\n }\r\n\r\n get companyList(): CompanyList {\r\n return this.$vmx.companyList.companyListById(this.id);\r\n }\r\n\r\n get filteredCompanies(): Company[] {\r\n return this.companies.filter(company =>\r\n company.companyName.toLowerCase().includes(this.filterText.toLowerCase()),\r\n );\r\n }\r\n\r\n get title() {\r\n if (this.companyList?.paUserIds?.length > 1) {\r\n return `${(this.$t('general.shared') as string).toUpperCase()} - ${this.companyList.name}`;\r\n }\r\n return this.companyList?.name;\r\n }\r\n\r\n @Watch('companyList')\r\n async updateCompanies() {\r\n if (this.companyList != null) {\r\n try {\r\n this.companies = await companyListService.getCompanyListItems(this.companyList.id);\r\n this.error = false;\r\n } catch (error) {\r\n this.error = true;\r\n }\r\n }\r\n }\r\n\r\n openCompanyListSettingsModal() {\r\n this.$vmx.modal.openCompayListSettingsModal({ companyList: this.companyList });\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./company-list-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./company-list-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-list-view.vue?vue&type=template&id=49129044&\"\nimport script from \"./company-list-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./company-list-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./company-list-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-view\"},[(_vm.$vmx.user.hasCompanyAccess)?_c('div',[(_vm.loading)?_c('BaseLoadingSpinner',{attrs:{\"size\":\"6rem\",\"border-size\":\".75rem\"}}):(_vm.company)?_c('div',[_c('div',{staticClass:\"d-flex\"},[_c('h1',{staticClass:\"me-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.title'))+\" \")]),_c('BaseButtonIcon',{attrs:{\"icon-name\":\"star\",\"type\":_vm.isOnCompanyList ? 'fas' : 'fal',\"size\":\"sm\",\"variant\":\"trademark\",\"tool-tip-text\":_vm.$t('components.modals.companyList.tooltip')},on:{\"click\":function($event){return _vm.openCompanyListAddModal()}}})],1),_c('div',{staticClass:\"row mb-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"show-body\":_vm.hasSomeBasicInfo},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyHeader', [_vm.company.companyName, _vm.company.cvr]))+\" \")]},proxy:true}],null,false,3746648448)},[(_vm.hasSomeBasicInfo)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-4 col-xxl-3 d-flex justify-content-center align-items-center\"},[_c('img',{staticClass:\"mx-auto img-fluid\",attrs:{\"src\":_vm.getImageFromFile(_vm.company.file, '2x1')}})]),_c('div',{staticClass:\"col-12 col-md-8 col-xxl-9\"},[_c('div',{staticClass:\"row g-4\"},[(_vm.company.description)?_c('div',{staticClass:\"col-12\"},[_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.company.description)}})]):_c('div',{staticClass:\"col-12\"}),_c('div',{staticClass:\"col-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.address', [_vm.company.address]))+\" \")]),_c('div',{staticClass:\"col-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.mail', [_vm.company.mail]))+\" \")]),_c('div',{staticClass:\"col-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.web', [_vm.company.link]))+\" \")]),_c('div',{staticClass:\"col-6\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.phone', [_vm.company.phone]))+\" \")])])])]):_vm._e()])],1)]),_c('div',{staticClass:\"row g-4 d-flex flex-lg-row-reverse\"},[_c('div',{staticClass:\"col-12 col-xl-9\"},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"show-body\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.company.companyRoles.header'))+\" \")]},proxy:true}],null,false,2166476168)}),_c('CompanyProjectsList',{attrs:{\"company-id\":_vm.company.id}})],1)])]),_c('div',{staticClass:\"col-12 col-xl-3\"},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('general.note', 2))+\" \")]},proxy:true}],null,false,3750799979)},[_c('NoteList',{attrs:{\"id\":_vm.noteId,\"notes\":_vm.company.notes,\"limit\":2},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1)],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{staticClass:\"mb-2\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.company.contacts.header'))+\" \")]},proxy:true}],null,false,3540339099)},[(_vm.contacts)?_c('table',{staticClass:\"table\"},[_c('tbody',_vm._l((_vm.contacts),function(contact){return _c('tr',{key:contact.id,on:{\"click\":function($event){return _vm.openContactModal(contact)}}},[_c('td',{staticClass:\"pt-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\"},[_c('h4',[_vm._v(\" \"+_vm._s(contact.name)+\" \")]),_c('p',{staticClass:\"fst-italic\"},[_vm._v(\" \"+_vm._s(contact.position)+\" \")])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"d-flex justify-content-end align-items-bottom\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"comment-alt-plus\",\"type\":\"fal\",\"size\":\"sm\",\"tool-tip-text\":_vm.$t('pages.company.contacts.tipTooltip')},on:{\"click\":function($event){return _vm.openTipModal(contact)}}})],1)])]),_c('div',[_vm._v(\" \"+_vm._s(contact.mail)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(contact.phone)+\" \")])])])}),0)]):_c('BaseLoadingSpinner',{attrs:{\"size\":\"4rem\",\"border-size\":\".75rem\"}})],1)],1)])])]),_c('ModalNoteEdit',{attrs:{\"modal-id\":(\"edit-\" + _vm.noteId),\"initial-note\":_vm.selectedNote,\"company-id\":_vm.company.id},on:{\"noteSaved\":_vm.noteSaved,\"openDeleteModal\":_vm.openDeleteNoteModal}}),_c('ModalNoteDelete',{attrs:{\"modal-id\":(\"delete-\" + _vm.noteId),\"note\":_vm.selectedNote},on:{\"noteDeleted\":_vm.noteDeleted}})],1):(_vm.errorCode == 401)?_c('Error401'):(_vm.errorCode == 404)?_c('Error404',[_c('div',[_vm._v(_vm._s(_vm.$t('pages.procurement.error404')))])]):_vm._e()],1):_c('Error401')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Contact } from '@/interfaces/contact';\r\n\r\nconst api = '/contacts';\r\n\r\nexport class ContactPersonService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getContactPersonById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getContactsForCompany =async (companyId: number): Promise => {\r\n const respose = await this.get(`${api}/forCompany/${companyId}`);\r\n return this.getResponse(respose);\r\n }\r\n}\r\n\r\nexport const contactPersonService = new ContactPersonService(apiConfig);\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Company } from '@/interfaces/company';\r\nimport CompanyProjectsList from '@/components/company-list-components/company-projects-list.vue';\r\nimport { companyService } from '@/services/restapi/company-service';\r\nimport { Contact } from '@/interfaces/contact';\r\nimport { contactPersonService } from '@/services/restapi/contact-person-service';\r\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport Error401 from '@/components/error-components/error-401.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport { Note } from '@/interfaces/note';\r\nimport NoteList from '@/components/general-components/note-list.vue';\r\nimport { Tip } from '@/interfaces/tip';\r\n\r\n@Component({\r\n components: {\r\n CompanyProjectsList,\r\n DropdownIconBar,\r\n DropdownOrderBy,\r\n Error401,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n NoteList,\r\n },\r\n})\r\nexport default class CompanyView extends Vue {\r\n @Prop() private id: number;\r\n loading = true;\r\n company: Company = null;\r\n contacts: Contact[] = null;\r\n getImageFromFile = this.$vmx.file.imageFromFile;\r\n errorCode: number = null;\r\n contactError: number = null;\r\n selectedContact: Contact = null;\r\n selectedNote: Note = null;\r\n\r\n mounted() {\r\n this.loadCompany();\r\n this.loadContacts();\r\n }\r\n\r\n get isOnCompanyList(): boolean {\r\n return this.$vmx.companyList.isInCompanyList(this.company);\r\n }\r\n\r\n get noteId(): string {\r\n return 'note-list';\r\n }\r\n\r\n get hasSomeBasicInfo(): boolean {\r\n return !!this.company.file\r\n || !!this.company.description\r\n || !!this.company.address\r\n || !!this.company.mail\r\n || !!this.company.link\r\n || !!this.company.phone;\r\n }\r\n\r\n loadCompany() {\r\n this.loading = true;\r\n companyService.getCompanyById(this.id)\r\n .then(\r\n (company) => {\r\n this.company = company;\r\n document.title = company.companyName;\r\n },\r\n (error) => {\r\n this.errorCode = error;\r\n },\r\n )\r\n .finally(() => {\r\n this.$nextTick(() => {\r\n this.loading = false;\r\n })\r\n });\r\n }\r\n\r\n loadContacts() {\r\n contactPersonService.getContactsForCompany(this.id)\r\n .then(\r\n (contacts) => {\r\n this.contacts = contacts\r\n },\r\n (error) => {\r\n this.contactError = error;\r\n },\r\n );\r\n }\r\n\r\n noteSaved(note: Note) {\r\n if (this.company.notes.some((x) => x.id === note.id)) {\r\n this.company.notes = this.company.notes.map((obj) => (obj.id === note.id ? note : obj));\r\n } else {\r\n this.company.notes.push(note);\r\n this.company.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n noteDeleted(id: number) {\r\n this.company.notes.splice(\r\n this.company.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n\r\n openCompanyListAddModal() {\r\n this.$vmx.modal.openCompanyListAddModal(this.company);\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n this.selectedNote = this.company.notes.find((note) => note.id == id);\r\n this.openModal(`delete-${this.noteId}`);\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n openTipModal(contact: Contact) {\r\n const user = this.$vmx.user.user;\r\n const tip: Tip = {\r\n contactId: contact.id,\r\n paUserId: user.id,\r\n name: user.name,\r\n email: user.email,\r\n phone: user.phone,\r\n description: null,\r\n }\r\n this.$vmx.modal.openTipModal(tip);\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./company-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./company-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-view.vue?vue&type=template&id=95f8fc6c&scoped=true&\"\nimport script from \"./company-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./company-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./company-view.scss?vue&type=style&index=0&id=95f8fc6c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"95f8fc6c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard\"},[_c('div',{staticClass:\"fluid-container\",attrs:{\"id\":\"dashboard-container\"}},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h2',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.dashboard.projectsAndProcurements'))+\" \")])]),_c('div',{staticClass:\"col-12 col-xl-6\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.agentsOverview.title'))+\" \")]),_c('div',[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"plus\",\"type\":\"fal\",\"size\":\"sm\",\"tool-tip-text\":_vm.$t('components.agentsOverview.createNewTooltip')},on:{\"click\":function($event){return _vm.createAgentClick()}}})],1)])]},proxy:true}])},[(_vm.agentsLoaded)?_c('div',[(_vm.hasAgents)?_c('AgentsOverview'):_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('components.agentsOverview.noAgents.title')))]),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.agentsOverview.noAgents.text1'))}}),_c('p',[_c('BaseButton',{attrs:{\"id\":\"dashboard-search-procurements-button\",\"with-spinner\":false,\"style-classes\":\"my-2 me-3\",\"variant\":\"cta\"},on:{\"click\":function($event){return _vm.createAgentClick()}}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'search'],\"size\":\"lg\"}}),_vm._v(\" \"+_vm._s(_vm.$t('components.agentsOverview.noAgents.buttonText'))+\" \")],1)],1),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.agentsOverview.noAgents.text2'))}})])],1):_c('BaseLoadingSpinner')],1)],1),_c('div',{staticClass:\"col-12 col-xl-6\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.listsOverview.title'))+\" \")]},proxy:true}])},[(_vm.listsLoaded)?_c('div',[(_vm.hasLists)?_c('div',[_c('ListsOverview')],1):_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('components.listsOverview.noLists'))+\" \")])])]):_c('BaseLoadingSpinner')],1)],1),_c('div',{staticClass:\"col-12\"},[_c('h2',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.dashboard.companies'))+\" \")])]),(_vm.$vmx.user.hasCompanyAccess)?_c('div',{staticClass:\"col-12 col-xl-6\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.companyListsOverview.title'))+\" \")]},proxy:true}],null,false,2747980023)},[(_vm.companyListsLoaded)?_c('div',[(_vm.hasCompanyLists)?_c('div',[_c('CompanyListsOverview')],1):_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListsOverview.noCompanyLists'))+\" \")])])]):_c('BaseLoadingSpinner')],1)],1):_vm._e(),(!_vm.$vmx.user.hasCompanyAccess)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"pe-3\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'lock'],\"size\":\"2x\"}})],1),_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.dashboard.notCompanyAuthorized.text'))+\" \")])])])],1):_vm._e()])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"mb-4\"},[_c('BaseContainer',{staticClass:\"mb-2\",attrs:{\"show-body\":!_vm.relevantArticles || _vm.relevantArticles.length == 0},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.dashboard.relevantArticles').toUpperCase())+\" \")]},proxy:true}])},[_vm._v(\" \"+_vm._s(_vm.$t('pages.dashboard.noArticles'))+\" \")]),(_vm.relevantArticles && _vm.relevantArticles.length > 0)?_c('div',[_c('HorizontalDraggable',{ref:\"articleDraggable\"},_vm._l((_vm.relevantArticles),function(article,index){return _c('div',{key:article.id,staticClass:\"pb-2\",class:_vm.getDraggableClasses(index, _vm.relevantArticles.length)},[_c('ArticleCard',{attrs:{\"article\":article}})],1)}),0)],1):_vm._e()],1)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"agents-overview\"},[_c('table',{staticClass:\"table table-borderless table-hover mb-0\"},[_c('thead',{staticClass:\"roboto-sm\"},[_c('tr',[_c('th',{staticClass:\"w-50\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.agentsOverview.nameColumn'))+\" \")]),_c('th',{staticClass:\"text-center\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.agentsOverview.allColumn'))+\" \")]),_c('th',{staticClass:\"text-center d-none d-sm-table-cell\",attrs:{\"colspan\":\"2\",\"scope\":\"colgroup\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.agentsOverview.newColumn'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}})]),_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}}),_c('th',{attrs:{\"scope\":\"col\"}}),_c('th',{staticClass:\"d-none d-sm-table-cell py-0\",attrs:{\"scope\":\"col\"}},[_c('div',{staticClass:\"col roboto-xs grey text-center\"},[_vm._v(\" \"+_vm._s(_vm.$tc('components.agentsOverview.days', 30, [30]))+\" \")])]),_c('th',{staticClass:\"d-none d-sm-table-cell py-0\",attrs:{\"scope\":\"col\"}},[_c('div',{staticClass:\"col roboto-xs grey text-center\"},[_vm._v(\" \"+_vm._s(_vm.$tc('components.agentsOverview.days', 1))+\" \")])]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.limitedAgents),function(agent,index){return _c('tr',{key:agent.id,staticClass:\"clickable\",class:index < _vm.limitedAgents.length - 1 ? _vm.lineClasses : [],on:{\"click\":function($event){return _vm.searchWithAgent(agent)}}},[_c('td',[_c('div',{staticClass:\"ps-2 two-lines-then-elipsis text-primary\"},[_vm._v(\" \"+_vm._s(agent.name)+\" \"),(agent.paUserIds.length > 1)?_c('span',{staticClass:\"fw-bold badge bg-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.shared').toString().toUpperCase())+\" \")]):_vm._e()])]),_c('td',[_c('div',{staticClass:\"d-flex flex-row justify-content-center align-items-center\"},[_c('AgentCountField',{attrs:{\"value\":_vm.getStatistics(agent).searchCount}})],1)]),_c('td',{staticClass:\"d-none d-sm-table-cell\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center align-items-center\"},[_c('AgentCountField',{attrs:{\"value\":_vm.getStatistics(agent).monthlyCount}})],1)]),_c('td',{staticClass:\"d-none d-sm-table-cell\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center align-items-center\"},[_c('AgentCountField',{attrs:{\"value\":_vm.getStatistics(agent).dailyCount}})],1)]),_c('td',{on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.searchWithAgent(agent)}}},[_c('div',{staticClass:\"d-flex flex-row justify-content-end pe-4\",on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.searchWithAgent(agent)}}},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"cog\",\"size\":\"sm\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.agentsOverview.settingsTooltip')},on:{\"click\":function($event){return _vm.openAgentSettingsModal(agent)}}})],1)])])}),0)]),(_vm.agents.length > _vm.limit)?_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.showAll)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeLess'))+\" \")]):_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"my-2 text-center border-0 rounded-3 black agent-count bg-background width-5-rem\"},[(_vm.value == null)?_c('div',[_c('BaseLoadingSpinner',{staticClass:\"p-1\",attrs:{\"size\":\"1rem\"}})],1):_c('div',[_vm._v(\" \"+_vm._s(_vm.value)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AgentCountField extends Vue {\r\n @Prop({ default: null }) value: number;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-count-field.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-count-field.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agent-count-field.vue?vue&type=template&id=19bc9d58&scoped=true&\"\nimport script from \"./agent-count-field.vue?vue&type=script&lang=ts&\"\nexport * from \"./agent-count-field.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agent-count-field.vue?vue&type=style&index=0&id=19bc9d58&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19bc9d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BaseModalContainer',{staticClass:\"modal-agent-settings unclickable\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.agent.settings.titleEdit'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):(_vm.agentCopy)?_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-3\",class:_vm.buttonRowClasses},[(_vm.agentCopy.id)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openAgentDeleteModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.delete'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":_vm.selectedUsers.length < 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[(_vm.$vmx.user.hasColleagues)?_c('InputTags',{attrs:{\"options\":_vm.users,\"display-prop\":function (user) { return user.name; },\"title\":_vm.$t('components.modals.agent.settings.companyShare'),\"placeholder\":_vm.$t('components.inputField.companyShare.placeholder'),\"choose-all-label\":_vm.$t('components.inputField.companyShare.chooseAll')},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}}):_vm._e()],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"agentName\",attrs:{\"id\":\"agentName\",\"required\":true,\"label\":_vm.$t('components.inputField.title.text'),\"placeholder\":_vm.$t('components.inputField.title.placeholder'),\"invalid-text\":_vm.$t('components.inputField.title.invalid')},model:{value:(_vm.agentCopy.name),callback:function ($$v) {_vm.$set(_vm.agentCopy, \"name\", $$v)},expression:\"agentCopy.name\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('FormMailTime',{model:{value:(_vm.agentCopy.mailTime),callback:function ($$v) {_vm.$set(_vm.agentCopy, \"mailTime\", $$v)},expression:\"agentCopy.mailTime\"}})],1)])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.mailTimeForm.title'))+\" \")]),_c('BaseInputRadio',{attrs:{\"radio-value\":\"daily\",\"text\":_vm.$t('components.forms.mailTimeForm.daily')},model:{value:(_vm.mailTime),callback:function ($$v) {_vm.mailTime=$$v},expression:\"mailTime\"}}),_c('BaseInputRadio',{attrs:{\"radio-value\":\"weekly\",\"text\":_vm.$t('components.forms.mailTimeForm.weekly')},model:{value:(_vm.mailTime),callback:function ($$v) {_vm.mailTime=$$v},expression:\"mailTime\"}}),_c('BaseInputRadio',{attrs:{\"radio-value\":\"always\",\"text\":_vm.$t('components.forms.mailTimeForm.instant')},model:{value:(_vm.mailTime),callback:function ($$v) {_vm.mailTime=$$v},expression:\"mailTime\"}}),_c('BaseInputRadio',{attrs:{\"radio-value\":\"never\",\"text\":_vm.$t('components.forms.mailTimeForm.never')},model:{value:(_vm.mailTime),callback:function ($$v) {_vm.mailTime=$$v},expression:\"mailTime\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, VModel, Vue } from 'vue-property-decorator';\r\nimport { MailTime } from '@/interfaces/enums/mail-time';\r\n\r\n\r\n@Component\r\nexport default class FormMailTime extends Vue {\r\n @VModel() mailTime: MailTime;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-mail-time.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-mail-time.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-mail-time.vue?vue&type=template&id=4670f0d4&scoped=true&\"\nimport script from \"./form-mail-time.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-mail-time.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4670f0d4\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport BaseInputField from '../form-fields/base-input-field.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n FormMailTime,\r\n },\r\n})\r\nexport default class ModalAgentSettings extends Vue {\r\n // @Prop({ required: true }) modalId: string;\r\n // @Prop({ required: true }) agent: Agent;\r\n @Ref() agentName: BaseInputField;\r\n\r\n agentCopy: Agent = null;\r\n users: User[] = [];\r\n selectedUsers: User[] = this.$vmx.user.colleagues;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.agent) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.agentCopy = {...this.agent};\r\n this.setUsers();\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.AGENT_SETTINGS_MODAL;\r\n }\r\n\r\n get agent(): Agent {\r\n return this.$vmx.modal.agent;\r\n }\r\n\r\n get formIsValid() {\r\n return this.agentName.validate() && this.selectedUsers.length > 0;\r\n }\r\n\r\n get validAgentName(): boolean {\r\n return this.agentCopy.name.trim().length >= 1 && this.agentCopy.name.trim().length <= 100;\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n `justify-content-${this.agentCopy.id ? 'between' : 'end'}`,\r\n ];\r\n }\r\n\r\n private setUsers() {\r\n const user = this.$vmx.user.user as User;\r\n this.users = this.$vmx.user.colleagues;\r\n if (this.agentCopy.id) {\r\n this.selectedUsers = this.users.filter(u => this.agentCopy.paUserIds.some(userId => userId === u.id));\r\n } else {\r\n this.selectedUsers = [user];\r\n }\r\n }\r\n\r\n @Watch('selectedUsers')\r\n selectedUsersChanged() {\r\n this.agentCopy.paUserIds = this.selectedUsers.map(u => u.id);\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n try {\r\n this.submitting = true;\r\n // const newAgent = await this.$vmx.agent.pushAgent(this.agentCopy);\r\n const newAgent = await this.$vmx.agent.pushAgent(this.agentCopy);\r\n\r\n const saveAgent = { ...this.agentCopy, id: newAgent.id }\r\n\r\n if (this.$route.name === RouterNames.LOGGED_IN_SEARCH) {\r\n this.$vmx.search.setAgent(saveAgent);\r\n }\r\n this.error = false;\r\n this.submitting = false;\r\n this.hideModal();\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n openAgentDeleteModal() {\r\n this.$vmx.modal.openAgentDeleteModal(this.agent);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-agent-settings.vue?vue&type=template&id=b925dafa&scoped=true&\"\nimport script from \"./modal-agent-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-agent-settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b925dafa\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport AgentCountField from '@/components/dashboard-components/agent-count-field.vue';\r\nimport { agentService } from '@/services/restapi/agent-service';\r\nimport { AgentStatistics } from '@/interfaces/agent-statistics';\r\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component({\r\n components: {\r\n AgentCountField,\r\n ModalAgentSettings,\r\n },\r\n})\r\nexport default class AgentsOverview extends Vue {\r\n @Prop({ default: 5 }) limit: number;\r\n showAll = false;\r\n statisticsData: AgentStatistics[] = null;\r\n\r\n created() {\r\n agentService.agentStatistics().then(statistics => this.statisticsData = statistics);\r\n }\r\n\r\n get agents() {\r\n return this.$vmx.agent.agents;\r\n }\r\n\r\n get limitedAgents() {\r\n return this.showAll ? this.agents : this.agents.slice(0, this.limit);\r\n }\r\n \r\n get lineClasses() {\r\n return [\r\n 'border-bottom',\r\n 'border-trademark-25',\r\n ]\r\n }\r\n\r\n openAgentSettingsModal(agent: Agent) {\r\n this.$vmx.modal.openAgentSettingsModal(agent);\r\n }\r\n\r\n searchWithAgent(agent: Agent) {\r\n this.$vmx.search.setAgent(agent);\r\n this.$router.push({ name: RouterNames.LOGGED_IN_SEARCH, params: { page: '1' } });\r\n }\r\n\r\n getStatistics(agent: Agent): AgentStatistics {\r\n if (this.statisticsData == null) {\r\n return { agentId: agent.id, searchCount: null, dailyCount: null, monthlyCount: null };\r\n }\r\n\r\n const stats = this.statisticsData.filter(stat => stat.agentId === agent.id)[0] ?? null;\r\n\r\n if (stats == null) {\r\n return { agentId: agent.id, searchCount: null, dailyCount: null, monthlyCount: null };\r\n }\r\n\r\n return stats;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agents-overview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agents-overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agents-overview.vue?vue&type=template&id=4ba81008&scoped=true&\"\nimport script from \"./agents-overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./agents-overview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agents-overview.vue?vue&type=style&index=0&id=4ba81008&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ba81008\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseContainer',{attrs:{\"show-header\":false,\"full-height\":true,\"body-style-classes\":\"h-100 d-flex flex-column align-items-stretch clickable\"},nativeOn:{\"mousedown\":function($event){return _vm.blockSlowClicks()},\"mouseup\":function($event){return _vm.articleClicked(_vm.article)}}},[_c('img',{ref:\"imageContainer\",staticClass:\"img-fluid img-crop\",style:(_vm.imageStyles),attrs:{\"src\":_vm.imageFromFile(_vm.article.coverImage)}}),_c('div',{staticClass:\"flex-grow-1 d-flex flex-column justify-content-between\"},[_c('div',{staticClass:\"lato text-start\"},[_vm._v(\" \"+_vm._s(_vm.article.title)+\" \")]),_c('div',{staticClass:\"d-flex flex-row justify-content-between mt-1\"},[_c('div',{staticClass:\"lato-sm grey\"},[_vm._v(\" \"+_vm._s(_vm.article.hostName)+\" \")]),_c('div',{staticClass:\"lato-sm fw-bold grey text-end\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.article.created, 'DD.MMMM YYYY hh:mm'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport { ArticleLink } from '@/interfaces/article-link';\r\nimport { File } from '@/interfaces/file';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\n\r\n/*\r\n We handle clicks in this card differently to support horizontal drag\r\n*/\r\n@Component\r\nexport default class ArticleCard extends Vue {\r\n @Prop({required: true}) article: ArticleLink;\r\n @Ref() imageContainer: HTMLElement;\r\n private getFromFile = this.$vmx.file.fromFile;\r\n allowClick = false;\r\n loading = true;\r\n\r\n mounted() {\r\n this.loading = false;\r\n }\r\n\r\n get imageStyles() {\r\n if (!this.loading && this.article && this.article.coverImage) {\r\n return {\r\n 'max-height': `${Math.round(this.imageContainer.clientWidth / 1.6)}px`,\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n public articleClicked(article: ArticleLink) {\r\n if (this.allowClick) {\r\n window.open(`${article.hostDomain}/article/view/${article.id}`);\r\n }\r\n }\r\n\r\n public blockSlowClicks() {\r\n this.allowClick = true;\r\n globalFunctions.timeout(100).then(() => { this.allowClick = false; })\r\n }\r\n\r\n public formatDate(date: string, format: string): string {\r\n return formatUtils.formatDate(date, format);\r\n }\r\n\r\n public imageFromFile(file: File) {\r\n if (file) {\r\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\r\n } else {\r\n return this.getFromFile(undefined);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./article-card.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./article-card.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./article-card.vue?vue&type=template&id=107659d8&scoped=true&\"\nimport script from \"./article-card.vue?vue&type=script&lang=ts&\"\nexport * from \"./article-card.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./article-card.vue?vue&type=style&index=0&id=107659d8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"107659d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-list-overview\"},[_c('table',{staticClass:\"table table-borderless table-hover mb-0\"},[_c('thead',{staticClass:\"roboto-sm\"},[_c('tr',[_c('th',{staticClass:\"w-75\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListsOverview.nameColumn'))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t('components.companyListsOverview.favoritesColumn'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.limitedCompanyLists),function(companyList,index){return _c('tr',{key:companyList.id,staticClass:\"clickable\",class:index < _vm.limitedCompanyLists.length - 1 ? _vm.lineClasses : [],on:{\"click\":function($event){return _vm.openCompanyListPage(companyList)}}},[_c('td',[_c('div',{staticClass:\"ps-2 text-primary\"},[_vm._v(\" \"+_vm._s(companyList.name)+\" \"),(companyList.paUserIds.length > 1)?_c('span',{staticClass:\"fw-bold badge bg-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.shared').toUpperCase())+\" \")]):_vm._e()])]),_c('td',[_c('div',{staticClass:\"my-2 text-center border-0 rounded-3 black bg-background width-5-rem\"},[_vm._v(\" \"+_vm._s(companyList.companies.length)+\" \")])]),_c('td',[_c('div',{staticClass:\"d-flex justify-content-end align-items-center\"},[_c('BaseButtonIcon',{staticClass:\"ms-3\",attrs:{\"icon-name\":\"cog\",\"size\":\"sm\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.companyListsOverview.settingsTooltip')},on:{\"click\":function($event){return _vm.openCompanyListSettingsModal(companyList)}}})],1)])])}),0)]),(_vm.companyLists.length > _vm.limit)?_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.showAll)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeLess'))+\" \")]):_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component\r\nexport default class CompanyListsOverview extends Vue {\r\n @Prop({ default: 5 }) limit: number;\r\n showAll = false;\r\n\r\n get companyLists(): CompanyList[] {\r\n return this.$vmx.companyList.companyLists;\r\n }\r\n\r\n get limitedCompanyLists(): CompanyList[] {\r\n return this.showAll ? this.companyLists : this.companyLists.slice(0, this.limit);\r\n }\r\n\r\n get lineClasses() {\r\n return [\r\n 'border-bottom',\r\n 'border-trademark-25',\r\n ]\r\n }\r\n\r\n openCompanyListSettingsModal(companyList: CompanyList) {\r\n this.$vmx.modal.openCompayListSettingsModal({ companyList: companyList });\r\n }\r\n\r\n openCompanyListPage(companyList: CompanyList) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW, params: { id: companyList.id.toString() } });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-lists-overview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-lists-overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-lists-overview.vue?vue&type=template&id=5aa02b56&scoped=true&\"\nimport script from \"./company-lists-overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./company-lists-overview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./company-lists-overview.vue?vue&type=style&index=0&id=5aa02b56&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5aa02b56\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"position-relative\"},[_c('scroll-shadow',{staticClass:\"d-flex w-100\",class:_vm.noLeftShadow ? 'no-left-shadow' : ''},[_c('div',{ref:\"slider\",staticClass:\"row draggable-horizontal custom-scrollbar d-flex flex-nowrap mx-0 w-100\",class:_vm.styleClasses},[_vm._t(\"default\")],2)]),_c('div',{staticClass:\"d-flex flex-column justify-content-center paddles\"},[_c('div',{ref:\"leftPaddle\",staticClass:\"paddle left-paddle d-flex flex-column justify-content-center d-none\"},[_c('BaseButtonIcon',{attrs:{\"variant\":\"secondary\",\"icon-name\":\"angle-left\"},on:{\"click\":function($event){return _vm.paddleClicked(true)}}})],1),_c('div',{ref:\"rightPaddle\",staticClass:\"paddle right-paddle d-flex flex-column justify-content-center\"},[_c('BaseButtonIcon',{attrs:{\"variant\":\"secondary\",\"icon-name\":\"angle-right\"},on:{\"click\":function($event){return _vm.paddleClicked(false)}}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n\r\nimport 'scroll-shadow-element';\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\n\r\n@Component\r\nexport default class HorizontalDraggable extends Vue {\r\n @Ref() slider: HTMLElement;\r\n @Ref() leftPaddle: HTMLElement;\r\n @Ref() rightPaddle: HTMLElement;\r\n @Prop({default: false, type: Boolean}) hiddenScrollbar: boolean;\r\n @Prop({default: false, type: Boolean}) noLeftShadow: boolean;\r\n @Prop({ default: true }) grab: boolean;\r\n sliderDown = false;\r\n public dragging = false;\r\n startX: number;\r\n scrollLeft: number;\r\n\r\n mounted() {\r\n this.addSliderEventListeners();\r\n window.addEventListener('resize', this.resizeHandler);\r\n this.displayPaddles(this.slider.scrollLeft);\r\n }\r\n\r\n addSliderEventListeners() {\r\n this.slider.addEventListener('mousedown', (e) => {\r\n if (e.offsetY > this.slider.clientHeight) {\r\n return;\r\n }\r\n this.sliderDown = true;\r\n this.startX = e.pageX - this.slider.offsetLeft;\r\n this.scrollLeft = this.slider.scrollLeft;\r\n this.slider.classList.add('active');\r\n });\r\n\r\n this.slider.addEventListener('mouseleave', () => {\r\n globalFunctions.timeout(50).then(() => {\r\n this.sliderDown = false;\r\n this.toggleDragging(false);\r\n this.slider.classList.remove('active');\r\n });\r\n });\r\n\r\n this.slider.addEventListener('mouseup', () => {\r\n globalFunctions.timeout(50).then(() => {\r\n this.sliderDown = false;\r\n this.toggleDragging(false);\r\n this.slider.classList.remove('active');\r\n this.displayPaddles(this.slider.scrollLeft);\r\n });\r\n });\r\n\r\n this.slider.addEventListener('mousemove', (e) => {\r\n if (!this.sliderDown) {\r\n return;\r\n }\r\n if (!this.dragging) {\r\n this.toggleDragging(true);\r\n }\r\n e.preventDefault();\r\n const x = e.pageX - this.slider.offsetLeft;\r\n const walk = x - this.startX;\r\n this.slider.scrollLeft = this.scrollLeft - walk;\r\n });\r\n }\r\n\r\n private toggleDragging(isDragging: boolean) {\r\n this.dragging = isDragging;\r\n this.$emit('dragging', isDragging);\r\n }\r\n\r\n public resizeHandler() {\r\n if (this.slider) {\r\n this.displayPaddles(this.slider.scrollLeft)\r\n }\r\n }\r\n\r\n get styleClasses() {\r\n return [\r\n this.grab ? 'grabbable' : '',\r\n this.hiddenScrollbar ? 'hidden-scrollbar' : '',\r\n ];\r\n }\r\n\r\n paddleClicked(isLeft: boolean) {\r\n const startX = this.slider.scrollLeft;\r\n let scrollX = startX + (isLeft ? -1 : 1) * 500;\r\n scrollX = scrollX < 0 ? 0 : scrollX;\r\n this.slider.scroll({\r\n left: scrollX,\r\n behavior: 'smooth',\r\n });\r\n\r\n this.displayPaddles(scrollX);\r\n }\r\n\r\n displayPaddles(scrollX: number) {\r\n if (scrollX <= 0) {\r\n if (!this.leftPaddle.classList.contains('d-none')) {\r\n this.leftPaddle.classList.add('d-none');\r\n }\r\n } else {\r\n this.leftPaddle.classList.remove('d-none');\r\n }\r\n\r\n const scrollEnd = this.slider.scrollWidth - this.slider.clientWidth;\r\n if (scrollX >= scrollEnd) {\r\n if (!this.rightPaddle.classList.contains('d-none')) {\r\n this.rightPaddle.classList.add('d-none');\r\n }\r\n } else {\r\n this.rightPaddle.classList.remove('d-none');\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./horizontal-draggable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./horizontal-draggable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./horizontal-draggable.vue?vue&type=template&id=1dd3c479&scoped=true&\"\nimport script from \"./horizontal-draggable.vue?vue&type=script&lang=ts&\"\nexport * from \"./horizontal-draggable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./horizontal-draggable.vue?vue&type=style&index=0&id=1dd3c479&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dd3c479\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"lists-overview\"},[_c('table',{staticClass:\"table table-borderless table-hover mb-0\"},[_c('thead',{staticClass:\"roboto-sm\"},[_c('tr',[_c('th',{staticClass:\"w-75\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.listsOverview.nameColumn'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.listsOverview.favoritesColumn'))+\" \")]),_c('th',{staticClass:\"d-none d-xxl-table-cell\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.estimatedSum'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.limitedLists),function(list,index){return _c('tr',{key:list.id,staticClass:\"clickable\",class:index < _vm.limitedLists.length - 1 ? _vm.lineClasses : [],on:{\"click\":function($event){return _vm.openListPage(list)}}},[_c('td',[_c('div',{staticClass:\"ps-2 two-lines-then-elipsis text-primary\"},[_vm._v(\" \"+_vm._s(list.name)+\" \"),(list.paUserIds.length > 1)?_c('span',{staticClass:\"fw-bold badge bg-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.shared').toString().toUpperCase())+\" \")]):_vm._e()])]),_c('td',[_c('div',{staticClass:\"my-2 text-center border-0 rounded-3 black bg-background width-5-rem\"},[_vm._v(\" \"+_vm._s(list.projects.length + list.procurements.length)+\" \")])]),_c('td',{staticClass:\"d-none d-xxl-table-cell\"},[_c('div',{staticClass:\"my-2 text-center border-0 rounded-3 px-2 black bg-background min-width-6-rem\"},[_vm._v(\" \"+_vm._s(_vm.getBudgetString(list.budgetSum))+\" \")])]),_c('td',{staticClass:\"pe-4\",on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.openListPage(list)}}},[_c('div',{staticClass:\"d-flex flex-row justify-content-end align-items-center\",on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.openListPage(list)}}},[_c('div',{staticClass:\"dropdown\"},[_c('DropdownActivitylog',{attrs:{\"list-id\":list.id}})],1),_c('BaseButtonIcon',{staticClass:\"ms-3\",attrs:{\"icon-name\":\"cog\",\"size\":\"sm\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.listsOverview.settingsTooltip')},on:{\"click\":function($event){return _vm.openListSettingsModal(list)}}})],1)])])}),0)]),(_vm.lists.length > _vm.limit)?_c('div',{staticClass:\"d-flex justify-content-end\"},[(_vm.showAll)?_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeLess'))+\" \")]):_c('div',{staticClass:\"roboto-lg fw-bold text-decoration-underline clickable text-trademark-125 ms-4\",on:{\"click\":function($event){_vm.showAll = true}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"dropdown\",on:{\"mouseover\":_vm.loadActivities}},[_c('BaseButtonIcon',{attrs:{\"id\":_vm.id,\"icon-name\":_vm.iconName,\"size\":_vm.size,\"variant\":_vm.variant,\"icon-size\":_vm.iconSize,\"show-badge\":_vm.showBadge,\"tool-tip-text\":_vm.$tc('general.latestUpdate', 2),\"bs-toggle\":_vm.hasProduct ? 'dropdown' : '',\"bs-auto-close\":\"outside\",\"on-click-cb\":_vm.buttonClick},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [(_vm.hasProduct)?_c('div',{staticClass:\"dropdown-menu scrollable-dropdown-menu p-2 unclickable\"},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('ul',_vm._l((_vm.activityLogs),function(activityLog){return _c('li',{key:activityLog.id},[_c('div',{staticClass:\"two-lines-then-ellipsis text-wrap roboto fw-medium\"},[_vm._v(\" \"+_vm._s(activityLog.name)+\" \")]),_c('UpdateList',{attrs:{\"updates\":activityLog.updates}})],1)}),0)],1):_vm._e()]},proxy:true}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base-loading-spinner d-flex flex-row justify-content-center\"},[_c('div',{staticClass:\"spinner-border\",class:_vm.styleClass,style:(_vm.sizeStyle)},[_c('div',{staticClass:\"visually-hidden\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseLoadingSpinner extends Vue {\r\n @Prop( { default: 'Loading...'}) private label: string;\r\n @Prop( { default: '2rem'}) private size: string;\r\n @Prop( {default: '.25 rem'}) private borderSize: string;\r\n @Prop( {\r\n type: String,\r\n default: 'primary',\r\n })\r\n private color: string;\r\n\r\n get sizeStyle() {\r\n return {\r\n width: this.size,\r\n height: this.size,\r\n 'border-width': this.borderSize,\r\n };\r\n }\r\n\r\n get styleClass() {\r\n return [\r\n `text-${this.color}`,\r\n ]\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-loading-spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-loading-spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-loading-spinner.vue?vue&type=template&id=254084f8&scoped=true&\"\nimport script from \"./base-loading-spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-loading-spinner.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"254084f8\",\n null\n \n)\n\nexport default component.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\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\r\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue'\r\nimport { Update } from '@/interfaces/update';\r\nimport UpdateList from '@/components/general-components/update-list.vue';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component({\r\n components: {\r\n UpdateList,\r\n BaseLoadingSpinner,\r\n },\r\n})\r\nexport default class DropdownActivitylog extends Vue {\r\n @Prop({ required: true }) listId: number;\r\n @Prop({ default: 'activitylog-dropdown' }) id: string;\r\n @Prop({ default: 'sm' }) size: string;\r\n @Prop({ default: 'sm' }) iconSize: string;\r\n @Prop({ default: 'bell' }) iconName: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) showBadge: boolean;\r\n @Prop({ default: null }) onClick?: (type: string) => void;\r\n @Prop({ default: null }) label: string;\r\n\r\n activityLogs: ActivityLog[] = null;\r\n fetching = false;\r\n\r\n get loading() {\r\n return this.activityLogs == null;\r\n }\r\n\r\n get hasProduct(): boolean {\r\n return this.$vmx.user.hasProduct;\r\n }\r\n\r\n buttonClick() {\r\n if (this.hasProduct) {\r\n this.loadActivities();\r\n } else {\r\n this.$vmx.modal.openPaywallModal();\r\n }\r\n }\r\n\r\n loadActivities() {\r\n if (this.fetching || !this.hasProduct) {\r\n return;\r\n }\r\n\r\n this.fetching = true;\r\n\r\n updateService.getActivityLogsFromListId(this.listId).then(activityLogs => {\r\n this.activityLogs = activityLogs;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-activitylog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dropdown-activitylog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dropdown-activitylog.vue?vue&type=template&id=3e2e31d0&\"\nimport script from \"./dropdown-activitylog.vue?vue&type=script&lang=ts&\"\nexport * from \"./dropdown-activitylog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport DropdownActivitylog from '@/components/dropdowns/dropdown-activitylog.vue'\r\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { listService } from '@/services/restapi/list-service';\r\nimport moment from 'moment-timezone';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport UpdateList from '@/components/general-components/update-list.vue'\r\n\r\n@Component({\r\n components: {\r\n UpdateList,\r\n DropdownUpdates,\r\n DropdownActivitylog,\r\n },\r\n})\r\nexport default class ListsOverview extends Vue {\r\n @Prop({ default: 5 }) limit: number;\r\n showAll = false;\r\n\r\n mounted() {\r\n\r\n }\r\n\r\n get lists(): List[] {\r\n return this.$vmx.list.lists;\r\n }\r\n\r\n get limitedLists(): List[] {\r\n return this.showAll ? this.lists : this.lists.slice(0, this.limit);\r\n }\r\n\r\n get lineClasses() {\r\n return [\r\n 'border-bottom',\r\n 'border-trademark-25',\r\n ]\r\n }\r\n\r\n getBudgetString(budgetSum: number): string {\r\n if (budgetSum) {\r\n return this.$n(budgetSum, 'currency', domainUtils.domain.numberFormat);\r\n }\r\n return this.$t('general.emptyField') as string;\r\n }\r\n\r\n getLogsInList(list: List): ActivityLog[] {\r\n return []; // TODO\r\n\r\n // let items: ActivityLog[] = [];\r\n // \r\n //\r\n // items.push(...list.procurements);\r\n // items.push(...list.projects);\r\n //\r\n // items = items.sort((item1, item2) => {\r\n // if(!item1.updates || item1.updates.length <= 0) {\r\n // return 1;\r\n // }\r\n // if (!item2.updates || item2.updates.length <= 0) {\r\n // return -1;\r\n // }\r\n // let newestDate1: string = item1.updates.reduce((prev, curr) => {\r\n // return moment(curr.created).isAfter(moment(prev.created)) ? curr : prev;\r\n // }).created;\r\n // let newestDate2: string = item2.updates.reduce((prev, curr) => {\r\n // return moment(curr.created).isAfter(moment(prev.created)) ? curr : prev;\r\n // }).created;\r\n // return moment(newestDate1).isAfter(moment(newestDate2)) ? -1 : 1;\r\n // });\r\n //\r\n // return items;\r\n }\r\n\r\n createRouterLocation(item: (Project | Procurement)) {\r\n if (globalFunctions.isProcurement(item)) {\r\n return {name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW, params: {id: item.id.toString()}};\r\n } else {\r\n return {name: RouterNames.PRINT_PROJECT, params: {id: item.id.toString()}};\r\n }\r\n }\r\n\r\n listHasUnseenNotifications(list: List): boolean {\r\n return dateUtils.isDateStringAfter(list.lastUpdated, list.lastSeen);\r\n }\r\n\r\n updateSeenForList(id: number) {\r\n listService.setListSeen(id).then((list) => {\r\n this.lists[this.lists.findIndex(x => x.id === id)].lastSeen = list.lastSeen;\r\n })\r\n }\r\n\r\n openListSettingsModal(list: List) {\r\n this.$vmx.modal.openListSettingsModal({list});\r\n }\r\n\r\n openListPage(list: List) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_LIST_VIEW, params: { id: list.id.toString() } });\r\n }\r\n\r\n openViewFromActivityLog(log: ActivityLog) {\r\n if (log) {\r\n this.$router.push({\r\n name: log.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n params: { id: log.id.toString() },\r\n })\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lists-overview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lists-overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./lists-overview.vue?vue&type=template&id=3da50ba8&scoped=true&\"\nimport script from \"./lists-overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./lists-overview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./lists-overview.vue?vue&type=style&index=0&id=3da50ba8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3da50ba8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseContainer',{attrs:{\"show-header\":false}},[_c('div',{staticClass:\"h-100 d-flex flex-column align-items-stretch\"},[_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":_vm.imageFromFile(_vm.project.coverImage)}}),_c('div',{staticClass:\"flex-grow-1 d-flex flex-column\"},[_c('span',{staticClass:\"lato fw-bold two-lines-then-ellipsis mt-2 mb-1\"},[_vm._v(_vm._s(_vm.project.name))]),_vm._l((_vm.criterionTypeData),function(criterionTypeData,index){return _c('span',{key:index},[_vm._v(\" \"+_vm._s(criterionTypeData.criteria.join(', '))+\" \")])}),_c('div',{staticClass:\"ms-auto mt-auto\"},[_c('BaseButton',{attrs:{\"style-classes\":\"default-font\",\"padding-x\":\"2\",\"padding-y\":\"1\",\"variant\":\"primary\",\"router-params\":{ name: _vm.routeProjectView, params: { id: _vm.project.id.toString() } }}},[_vm._v(\" \"+_vm._s(_vm.$t('components.projectReference.seeProject'))+\" \")])],1)],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { File } from '@/interfaces/file';\r\nimport { ProjectReference } from '@/interfaces/project-reference';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n/*\r\n We handle clicks in this card differently to support horizontal drag\r\n*/\r\n@Component\r\nexport default class ProjectReferenceCard extends Vue {\r\n @Prop({required: true}) project: ProjectReference;\r\n private getFromFile = this.$vmx.file.fromFile;\r\n\r\n readonly routeProjectView = RouterNames.LOGGED_IN_PROJECT_VIEW\r\n\r\n\r\n get criterionTypeData() {\r\n return this.project.criteria ?? [];\r\n }\r\n\r\n public imageFromFile(file: File) {\r\n if (file) {\r\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\r\n } else {\r\n return this.getFromFile(undefined);\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./project-reference-card.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./project-reference-card.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./project-reference-card.vue?vue&type=template&id=430c871a&scoped=true&\"\nimport script from \"./project-reference-card.vue?vue&type=script&lang=ts&\"\nexport * from \"./project-reference-card.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"430c871a\",\n null\n \n)\n\nexport default component.exports","import { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport AgentsOverview from '@/components/dashboard-components/agents-overview.vue';\r\nimport ArticleCard from '@/components/cards/article-card.vue';\r\nimport { ArticleLink } from '@/interfaces/article-link';\r\nimport CompanyListsOverview from '@/components/dashboard-components/company-lists-overview.vue';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport HorizontalDraggable from '@/components/draggables/horizontal-draggable.vue';\r\nimport { listService } from '@/services/restapi/list-service';\r\nimport ListsOverview from '@/components/dashboard-components/lists-overview.vue';\r\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\n\r\n@Component({\r\n components: {\r\n AgentsOverview,\r\n ArticleCard,\r\n CompanyListsOverview,\r\n HorizontalDraggable,\r\n ListsOverview,\r\n ProjectReferenceCard,\r\n },\r\n})\r\nexport default class DashboardView extends Vue {\r\n @Ref() articleDraggable: HorizontalDraggable;\r\n private readonly RELATED_ARTICLES_AMOUNT = 10;\r\n relevantArticles: ArticleLink[] = [];\r\n smallWindow = false;\r\n\r\n openSearchDropDown() {\r\n this.$root.$emit('show_search_box');\r\n }\r\n\r\n created() {\r\n listService\r\n .findRelevantArticles(this.RELATED_ARTICLES_AMOUNT)\r\n .then((articles: ArticleLink[]) => {\r\n this.relevantArticles = articles;\r\n this.relevantArticles.sort((x, y) => {\r\n return dateUtils.isDateStringAfter(x.created, y.created)\r\n ? -1 : dateUtils.isDateStringAfter(y.created, x.created)\r\n ? 1 : 0;\r\n });\r\n });\r\n }\r\n\r\n mounted() {\r\n this.smallWindow = window.innerWidth < 1200;\r\n window.addEventListener('resize', this.resizeHandler);\r\n }\r\n\r\n get agentsLoaded(): boolean {\r\n return this.$vmx.agent.agentsLoaded;\r\n }\r\n\r\n get companyListsLoaded(): boolean {\r\n return this.$vmx.companyList.companyListsLoaded;\r\n }\r\n\r\n get hasAgents() {\r\n const agents = this.$vmx.agent.agents;\r\n return agents && agents.length > 0;\r\n }\r\n\r\n get hasCompanyLists() {\r\n const companyLists = this.$vmx.companyList.companyLists;\r\n return companyLists != null && companyLists.length > 0;\r\n }\r\n\r\n get hasLists() {\r\n const lists = this.$vmx.list.lists;\r\n return lists != null && lists.length > 0;\r\n }\r\n\r\n get listsLoaded(): boolean {\r\n return this.$vmx.list.listsLoaded as boolean;\r\n }\r\n\r\n public getDraggableClasses(index: number, length: number) {\r\n return [\r\n { 'ps-0': index === 0 },\r\n { 'pe-0': index === length - 1 },\r\n { 'col-12': length === 1 },\r\n { 'col-10 col-sm-7 col-lg-5 col-xxl-3': length >= 1 },\r\n ];\r\n }\r\n\r\n resizeHandler() {\r\n if (window.innerWidth < 1200) {\r\n if (!this.smallWindow) {\r\n this.smallWindow = true;\r\n globalFunctions.timeout(50).then(() => {\r\n this.articleDraggable.resizeHandler();\r\n });\r\n }\r\n } else {\r\n this.smallWindow = false;\r\n }\r\n }\r\n\r\n createAgentClick() {\r\n this.$vmx.search.clearAgent();\r\n this.$router.push({\r\n name: RouterNames.LOGGED_IN_SEARCH,\r\n params: { page: '1' },\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./dashboard-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./dashboard-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./dashboard-view.vue?vue&type=template&id=49d09a9a&\"\nimport script from \"./dashboard-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./dashboard-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./dashboard-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"error-page\"},[_c('Error404')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row gy-5 roboto-xl fw-medium\"},[_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.error404.header'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.error404.text'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_vm._t(\"default\",function(){return [_c('div',[_vm._v(_vm._s(_vm.$t('pages.error404.slotText')))])]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Error404 extends Vue {\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./error-404.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./error-404.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./error-404.vue?vue&type=template&id=968ccdd0&scoped=true&\"\nimport script from \"./error-404.vue?vue&type=script&lang=ts&\"\nexport * from \"./error-404.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"968ccdd0\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport Error404 from '@/components/error-components/error-404.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n@Component({\r\n components: {\r\n Error404,\r\n TheHeader,\r\n },\r\n})\r\nexport default class Error404View extends Vue {\r\n get isLoggedIn(): boolean {\r\n return this.$vmx.session.isLoggedIn;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./error-404-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./error-404-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./error-404-view.vue?vue&type=template&id=164e82d3&\"\nimport script from \"./error-404-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./error-404-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./error-404-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help-view\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('BaseButton',{staticClass:\"mb-4\",attrs:{\"id\":\"help-notification-button\",\"with-spinner\":false,\"variant\":\"cta\"},on:{\"click\":function($event){return _vm.openNotificationSidebar()}}},[_vm._v(\" Siden sidst \")])],1),_c('UserGuide',{staticClass:\"mb-5\"}),_c('div',{staticClass:\"row justify-content-center\"},[_c('FormBookDemo',{staticClass:\"col-12 col-lg-6\",attrs:{\"title\":_vm.$t('pages.help.bookdemo'),\"text\":_vm.$t('pages.help.bookdemoText'),\"mode\":\"customer\"}})],1),_c('NotificationSidebar',{attrs:{\"title\":_vm.$t('components.notifications.titleAll'),\"notifications\":_vm.notifications,\"left\":false,\"update-on-click\":false},model:{value:(_vm.showSidebar),callback:function ($$v) {_vm.showSidebar=$$v},expression:\"showSidebar\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Notification } from '@/interfaces/notification';\r\n\r\nconst api = '/notifications';\r\n\r\nexport class NotificationService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getNotifications = async (isSeen: boolean): Promise => {\r\n let config = null;\r\n if (isSeen != null) {\r\n config = {\r\n params: {\r\n isSeen,\r\n },\r\n };\r\n }\r\n\r\n const response = await this.get(`${api}`, config);\r\n return this.getResponse(response);\r\n };\r\n\r\n public setAllSeen = async () => {\r\n const response = await this.put(`${api}/setAllSeen`);\r\n return this.getResponse(response);\r\n };\r\n\r\n}\r\n\r\nexport const notificationService = new NotificationService(apiConfig);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseSidebar',{attrs:{\"style-classes\":_vm.styleClasses,\"overlay-clickable\":_vm.overlayClickable,\"left\":false},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('div',{staticClass:\"mt-4 h-75\"},[_c('BaseContainer',{attrs:{\"padding-x\":0,\"body-style-classes\":\"h-100\",\"full-height\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"px-4\"},[_vm._v(\" \"+_vm._s(_vm.title ? _vm.title : _vm.$t('components.notifications.titleNew'))+\" \")])]},proxy:true}])},[(_vm.notifications)?_c('div',{staticClass:\"mh-100 h-100 d-flex flex-column justify-content-between\"},[_c('div',{staticClass:\"flex-grow-1 custom-scrollbar mh-100\"},_vm._l((_vm.notifications),function(notification,index){return _c('div',{key:index,staticClass:\"border-bottom border-trademark-25\"},[_c('div',{staticClass:\"py-2\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-between align-items-center clickable ps-4 pe-2\",on:{\"click\":function($event){return _vm.fold(index)}}},[_c('h4',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(notification.title)+\" \")]),_c('div',[_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.selectedIndex !== index),expression:\"selectedIndex !== index\"}]},[_vm._v(\" \"+_vm._s(_vm.formatDate(notification.created))+\" \")]),_c('div',{staticClass:\"ms-2\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":_vm.selectedIndex === index ? 'chevron-down' : 'chevron-right',\"variant\":\"white\"},on:{\"click\":function($event){return _vm.fold(index)}}})],1)])])]),_c('div',{staticClass:\"transition-expand px-4\",class:[_vm.selectedIndex === index ? 'open' : 'closed']},[_c('div',{staticClass:\"mb-2\",domProps:{\"innerHTML\":_vm._s(notification.text)}}),(notification.file)?_c('div',{staticClass:\"mb-3\"},[_c('div',{staticClass:\"roboto fw-bold mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.notifications.demoTitle'))+\" \")]),_c('div',[_c('video',{staticClass:\"w-100\",attrs:{\"controls\":\"\",\"disablePictureInPicture\":\"\",\"playsInline\":\"\",\"controlsList\":\"nodownload noremoteplayback\"}},[_c('source',{attrs:{\"src\":_vm.imageFromFile(notification.file),\"type\":\"video/mp4\"}})])])]):_vm._e(),_c('div',{staticClass:\"mb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.publishedAt', [_vm.formatDate(notification.created)]))+\" \")])])])])}),0),_c('div',{staticClass:\"pt-4 px-4\"},[_c('div',{staticClass:\"row gx-2 align-items-center\"},[_c('div',{staticClass:\"col\"},[_c('BaseInputCheckbox',{attrs:{\"disabled\":_vm.savingUser,\"text\":_vm.$t('components.notifications.showButton')},model:{value:(_vm.showNotifications),callback:function ($$v) {_vm.showNotifications=$$v},expression:\"showNotifications\"}})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{ref:\"checkButton\",attrs:{\"id\":\"notification-button\",\"on-click-cb\":_vm.notificationsSeen}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])]):_c('div',[_c('BaseLoadingSpinner')],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.routerParams)?_c('router-link',{staticClass:\"no-decoration\",attrs:{\"to\":_vm.routerParams}},[_c('button',{staticClass:\"btn position-relative\",class:_vm.styleClassObj,attrs:{\"type\":_vm.type,\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.showBadge)?_c('span',{class:_vm.badgeClasses},[_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \"),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Badge\")])]):_vm._e(),(_vm.withSpinner && _vm.isClicked)?_c('div',[_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"role\":\"status\",\"aria-hidden\":\"true\"}})]):_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")]})],2)]):_c('div',{class:_vm.dropdownClasses},[_c('button',{staticClass:\"btn position-relative\",class:_vm.styleClassObj,attrs:{\"type\":_vm.type,\"disabled\":_vm.disabled,\"data-bs-toggle\":_vm.bsToggle,\"data-bs-target\":_vm.bsTarget,\"data-bs-dismiss\":_vm.bsDismiss,\"data-bs-auto-close\":_vm.bsAutoClose},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onClick.apply(null, arguments)}}},[(_vm.showBadge)?_c('span',{class:_vm.badgeClasses},[_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \"),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Badge\")])]):_vm._e(),(_vm.withSpinner && _vm.isClicked)?_c('div',[_c('span',{staticClass:\"spinner-border spinner-border-sm\",attrs:{\"role\":\"status\",\"aria-hidden\":\"true\"}})]):_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")]})],2),_vm._t(\"dropdown\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseButton extends Vue {\r\n @Prop({ default: true }) withSpinner: boolean;\r\n @Prop() routerParams: Object;\r\n @Prop() styleClasses: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: '2' }) paddingY: string;\r\n @Prop({ default: '3' }) paddingX: string;\r\n @Prop({ default: false }) showBadge: boolean;\r\n @Prop() badgeText: string;\r\n @Prop({ default: 'danger'}) badgeColor: string;\r\n @Prop({ default: null }) onClickCb: () => Promise;\r\n @Prop({ default: 'button' }) type: 'button' | 'submit' | 'reset';\r\n @Prop() bsToggle: string;\r\n @Prop() bsDismiss: string;\r\n @Prop() bsTarget: string;\r\n @Prop() bsAutoClose: string;\r\n @Prop({ default: false }) isDropup: boolean;\r\n public isClicked = false;\r\n\r\n get styleClassObj() {\r\n return [\r\n `py-${this.paddingY}`,\r\n `px-${this.paddingX}`,\r\n `btn-${this.variant}`,\r\n this.styleClasses,\r\n ];\r\n }\r\n\r\n get dropdownClasses() {\r\n return {\r\n dropdown: this.bsToggle === 'dropdown' && !this.isDropup,\r\n dropup: this.bsToggle === 'dropdown' && this.isDropup,\r\n }\r\n }\r\n\r\n get badgeClasses() {\r\n return [\r\n 'position-absolute',\r\n 'top-0',\r\n 'start-100',\r\n 'translate-middle',\r\n 'badge',\r\n this.badgeText ? '' : 'p-2',\r\n this.badgeText ? 'rounded-pill' : 'rounded-circle',\r\n `bg-${this.badgeColor}`,\r\n this.sameColor ? 'border' : '',\r\n this.sameColor ? 'border-white' : '',\r\n ];\r\n }\r\n\r\n get sameColor() {\r\n return this.variant === this.badgeColor;\r\n }\r\n\r\n onClick() {\r\n if (!this.isClicked) {\r\n this.isClicked = true;\r\n this.$emit('click');\r\n if (this.onClickCb != null) {\r\n this.onClickCb().finally(() => this.isClicked = false);\r\n } else {\r\n this.isClicked = false;\r\n }\r\n }\r\n }\r\n\r\n public stopLoading() {\r\n this.isClicked = false;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-button.vue?vue&type=template&id=0f93cd8a&scoped=true&\"\nimport script from \"./base-button.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-button.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-button.vue?vue&type=style&index=0&id=0f93cd8a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f93cd8a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"sidebar\"}},[_c('nav',{staticClass:\"sidebar-nav bg-transparent\",class:_vm.sidebarClasses},[_vm._t(\"default\",function(){return [_vm._v(\"Stuff here\")]})],2),_c('div',{staticClass:\"overlay\",class:[_vm.active ? 'active' : ''],on:{\"click\":function($event){return _vm.overlayClicked()}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseSidebar extends Vue {\r\n @VModel() active: boolean;\r\n @Prop({ default: true }) left: boolean;\r\n @Prop() styleClasses: string;\r\n @Prop({ default: true }) overlayClickable: boolean;\r\n\r\n get sidebarClasses() {\r\n return [\r\n this.left ? 's-navbar' : 'e-navbar',\r\n this.left ? 'ps-5' : 'pe-5',\r\n this.active ? 'active' : '',\r\n this.styleClasses,\r\n ];\r\n }\r\n\r\n overlayClicked() {\r\n if (this.overlayClickable) {\r\n this.toggleSidebar(false);\r\n }\r\n }\r\n\r\n public toggleSidebar(show: boolean) {\r\n this.active = show;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-sidebar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-sidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-sidebar.vue?vue&type=template&id=076c9762&scoped=true&\"\nimport script from \"./base-sidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-sidebar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-sidebar.vue?vue&type=style&index=0&id=076c9762&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"076c9762\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\r\nimport BaseButton from '@/components/buttons/base-button.vue';\r\nimport BaseSidebar from '@/components/sidebars/base-sidebar.vue';\r\nimport { File } from '@/interfaces/file';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { Notification } from '@/interfaces/notification';\r\nimport { notificationService } from '@/services/restapi/notification-service';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n BaseButton,\r\n BaseSidebar,\r\n },\r\n})\r\nexport default class NotificationSidebar extends Vue {\r\n @VModel() show: boolean;\r\n @Ref() checkButton: BaseButton;\r\n @Prop({ required: true }) notifications: Notification[];\r\n @Prop() styleClasses: string;\r\n @Prop({ default: true }) overlayClickable: boolean;\r\n @Prop() title: string;\r\n @Prop({ default: true }) updateOnClick: boolean;\r\n savingUser = false;\r\n selectedIndex = 0;\r\n private getFromFile = this.$vmx.file.fromFile;\r\n\r\n get showNotifications(): boolean {\r\n return (this.$vmx.user.user as User).showPopups;\r\n }\r\n\r\n set showNotifications(show: boolean) {\r\n const user: User = this.$vmx.user.user;\r\n user.showPopups = show;\r\n this.savingUser = true;\r\n this.$vmx.user.putUser(user).finally(() => this.savingUser = false);\r\n }\r\n\r\n formatDate(date: string) {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n\r\n fold(index: number) {\r\n this.selectedIndex = this.selectedIndex === index ? null : index;\r\n }\r\n\r\n async notificationsSeen() {\r\n if (this.updateOnClick) {\r\n await notificationService.setAllSeen();\r\n this.show = false;\r\n } else {\r\n this.show = false;\r\n }\r\n }\r\n\r\n imageFromFile(file: File) {\r\n if (file) {\r\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\r\n } else {\r\n return this.getFromFile(undefined);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./notification-sidebar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./notification-sidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./notification-sidebar.vue?vue&type=template&id=3cf2f972&scoped=true&\"\nimport script from \"./notification-sidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./notification-sidebar.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3cf2f972\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bg-white\"},[(_vm.tabs == null)?_c('div',[_c('BaseLoadingSpinner',{staticClass:\"py-3\",attrs:{\"size\":\"6rem\",\"border-size\":\".75rem\"}})],1):_c('div',[_c('ul',{staticClass:\"nav nav-tabs nav-justified\"},_vm._l((_vm.tabs),function(tab){return _c('li',{key:tab.id,staticClass:\"nav-item clickable\",class:{\n active: _vm.currentTab != null && tab.id == _vm.currentTab.id\n },on:{\"click\":function($event){_vm.currentTab = tab}}},[_c('div',{staticClass:\"text-center text-trademark-125 py-2\"},[_c('div',{staticClass:\"d-sm-block\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":[tab.iconType, tab.icon],\"size\":\"2x\"}})],1),_c('div',{staticClass:\"no-hyphens d-none d-lg-block\",class:{\n 'fw-bold' : _vm.currentTab != null && tab.id == _vm.currentTab.id\n }},[_vm._v(\" \"+_vm._s(tab.name)+\" \")])])])}),0),_c('div',[(_vm.currentTab != null && _vm.currentTab.pages != null)?_c('div',_vm._l((_vm.currentTab.pages),function(page){return _c('UserGuideRow',{key:page.id,attrs:{\"tab\":_vm.currentTab,\"page\":page,\"set-current-page\":_vm.setCurrentPage,\"active\":_vm.isCurrentPage(page.id)}})}),1):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\r\n\r\nconst api = '/helpdesk';\r\n\r\nexport class HelpdeskService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getHelpdeskTabs = async (): Promise => {\r\n const response = await this.get(api);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const helpdeskService = new HelpdeskService(apiConfig);\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"py-2 roboto-lg border-bottom border-background\"},[_c('div',{staticClass:\"d-flex flex-row clickable align-items-center\",on:{\"click\":function($event){return _vm.setCurrentPage(_vm.page.id)}}},[_c('div',{staticClass:\"h4 ps-3 pt-2\",attrs:{\"id\":(\"page\" + (_vm.page.id))}},[_vm._v(\" \"+_vm._s(_vm.page.title)+\" \")]),_c('div',{staticClass:\"ms-auto\"},[_c('BaseButtonIcon',{staticClass:\"me-3\",attrs:{\"size\":\"md\",\"type\":\"fal\",\"variant\":\"white\",\"icon-name\":_vm.active ? 'chevron-down' : 'chevron-right'},on:{\"click\":function($event){return _vm.setCurrentPage(_vm.page.id)}}})],1)]),(_vm.active)?_c('div',{},_vm._l((_vm.page.parts),function(part){return _c('div',{key:part.id,staticClass:\"mb-5\"},[(part.file == null)?_c('div',{staticClass:\"px-3\",domProps:{\"innerHTML\":_vm._s(part.text)}}):_c('div',{staticClass:\"row\"},[(part.file)?_c('div',{staticClass:\"col-12 col-lg-6 p-1 p-lg-2\"},[(part.file.image)?_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":_vm.imageFromFile(part.file)}}):_c('video',{ref:(\"video-\" + (_vm.tab.id) + \"-\" + (_vm.page.id) + \"-\" + (part.id)),refInFor:true,staticClass:\"w-100\",attrs:{\"autoplay\":\"\",\"disablePictureInPicture\":\"\",\"playsInline\":\"\"}},[_c('source',{attrs:{\"src\":_vm.imageFromFile(part.file),\"type\":\"video/mp4\"}})])]):_vm._e(),_c('div',{staticClass:\"col-12 col-lg-6 p-1 p-lg-2\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(part.text)}})])])])}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.routeParams !== null && _vm.routeParams !== undefined)?_c('router-link',{staticClass:\"text-decoration-none d-flex align-items-center justify-content-center mx-auto\",attrs:{\"to\":_vm.routeParams}},[_c('span',{staticClass:\"d-flex align-items-center justify-content-center\",attrs:{\"id\":(\"tooltip-\" + _vm.uid),\"data-bs-tooltip\":_vm.toolTipText ? 'tooltip' : '',\"title\":_vm.toolTipText}},[_c('button',{staticClass:\"btn d-flex align-items-center justify-content-center position-relative\",class:_vm.styleClassObj,attrs:{\"id\":_vm.uid,\"type\":\"button\",\"disabled\":_vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.showBadge)?_c('span',{class:_vm.badgeClasses},[_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \"),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Badge\")])]):_vm._e(),_c('FontAwesomeIcon',{attrs:{\"icon\":[_vm.type, _vm.iconName],\"size\":_vm.iconSize}})],1),(_vm.label)?_c('label',{staticClass:\"roboto-xl ms-2 text-nowrap\",class:[(\"text-\" + _vm.variant)],attrs:{\"for\":_vm.uid}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e()])]):_c('div',{class:_vm.dropdownClasses},[_c('span',{staticClass:\"d-flex align-items-center justify-content-center\",attrs:{\"id\":(\"tooltip-\" + _vm.uid),\"data-bs-tooltip\":_vm.toolTipText ? 'tooltip' : '',\"title\":_vm.toolTipText}},[_c('button',{staticClass:\"btn d-flex align-items-center justify-content-center position-relative\",class:_vm.styleClassObj,attrs:{\"id\":_vm.uid,\"type\":\"button\",\"disabled\":_vm.disabled,\"data-bs-toggle\":_vm.bsToggle,\"data-bs-target\":_vm.bsTarget,\"data-bs-dismiss\":_vm.bsDismiss,\"data-bs-auto-close\":_vm.bsAutoClose,\"aria-expanded\":\"false\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onClick.apply(null, arguments)}}},[(_vm.showBadge)?_c('span',{class:_vm.badgeClasses},[_vm._v(\" \"+_vm._s(_vm.badgeText)+\" \"),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Badge\")])]):_vm._e(),_c('FontAwesomeIcon',{attrs:{\"icon\":[_vm.type, _vm.iconName],\"size\":_vm.iconSize}})],1),(_vm.label)?_c('label',{staticClass:\"roboto-xl ms-2 text-nowrap\",class:[(\"text-\" + _vm.variant)],attrs:{\"for\":_vm.uid},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onClick.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),_vm._t(\"dropdown\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Tooltip } from 'bootstrap';\r\n\r\nlet uid = 0;\r\n\r\n@Component\r\nexport default class BaseButtonIcon extends Vue {\r\n @Prop() buttonId: string;\r\n @Prop() routeParams: Object;\r\n @Prop() styleClasses: string;\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ required: true}) iconName: string;\r\n @Prop({ default: 'fal'}) type: string;\r\n @Prop({ default: 'md'}) size: string;\r\n @Prop({ default: 'xs'}) iconSize: string;\r\n @Prop({ default: false }) rounded: boolean;\r\n @Prop() label: string;\r\n @Prop() toolTipText: string;\r\n @Prop({ default: 'top'}) tooltipPlacement: 'auto' | 'top' | 'bottom' | 'left' | 'right';\r\n @Prop({ default: false }) showBadge: boolean;\r\n @Prop() badgeText: string;\r\n @Prop({ default: 'danger'}) badgeColor: string;\r\n @Prop({ default: null }) onClickCb: () => Promise;\r\n @Prop() bsToggle: string;\r\n @Prop() bsDismiss: string;\r\n @Prop() bsTarget: string;\r\n @Prop() bsAutoClose: string;\r\n @Prop({ default: false }) isDropup: boolean;\r\n public isClicked = false;\r\n\r\n mounted() {\r\n this.setTooltip();\r\n }\r\n\r\n activated() {\r\n this.setTooltip();\r\n }\r\n\r\n setTooltip() {\r\n this.$nextTick(() => {\r\n const popperElement = document.getElementById(`tooltip-${this.uid}`);\r\n if (popperElement) {\r\n new Tooltip(popperElement, {\r\n placement: this.tooltipPlacement,\r\n trigger: 'hover',\r\n });\r\n }\r\n })\r\n }\r\n\r\n get uid(): string {\r\n if (!this.buttonId) {\r\n uid += 1;\r\n return 'icon-button-' + uid;\r\n }\r\n return this.buttonId;\r\n }\r\n\r\n get styleClassObj() {\r\n return [\r\n `icon-class-${this.size}`,\r\n !this.rounded ? 'circle' : '',\r\n `btn-${this.variant}`,\r\n this.styleClasses,\r\n // this.bsToggle === 'dropdown' ? 'dropdown-toggle' : '',\r\n ];\r\n }\r\n\r\n get dropdownClasses() {\r\n return {\r\n dropdown: this.bsToggle === 'dropdown' && !this.isDropup,\r\n dropup: this.bsToggle === 'dropdown' && this.isDropup,\r\n }\r\n }\r\n\r\n get badgeClasses() {\r\n return [\r\n 'position-absolute',\r\n this.rounded ? ['top-0', 'start-100'] : 'position-90',\r\n 'translate-middle',\r\n 'badge',\r\n this.badgeText ? '' : 'p-2',\r\n this.badgeText ? 'rounded-pill' : 'rounded-circle',\r\n `bg-${this.badgeColor}`,\r\n this.sameColor ? 'border' : '',\r\n this.sameColor ? 'border-white' : '',\r\n ];\r\n }\r\n\r\n get sameColor() {\r\n return this.variant === this.badgeColor;\r\n }\r\n\r\n onClick() {\r\n if (!this.isClicked) {\r\n Tooltip.getInstance(document.getElementById(`tooltip-${this.uid}`))?.hide();\r\n this.isClicked = true;\r\n this.$emit('click');\r\n if (this.onClickCb != null) {\r\n this.onClickCb()?.finally(() => this.isClicked = false);\r\n } else {\r\n this.isClicked = false;\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button-icon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-button-icon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-button-icon.vue?vue&type=template&id=392c2f18&scoped=true&\"\nimport script from \"./base-button-icon.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-button-icon.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-button-icon.vue?vue&type=style&index=0&id=392c2f18&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"392c2f18\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseButtonIcon from '@/components/buttons/base-button-icon.vue'\r\nimport { File } from '@/interfaces/file';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { HelpdeskPage } from '@/interfaces/help/helpdesk-page';\r\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\r\n\r\n@Component({\r\n components: { BaseButtonIcon },\r\n})\r\nexport default class UserGuideRow extends Vue {\r\n @Prop({ required: true }) tab: HelpdeskTab;\r\n @Prop({ required: true }) page: HelpdeskPage;\r\n @Prop({ default: false }) active: boolean;\r\n @Prop({ required: true }) setCurrentPage: (id: number) => void;\r\n\r\n loopHandler(ref: string) {\r\n globalFunctions.timeout(5000).then(() => {\r\n if ((this.$refs[ref] as HTMLVideoElement[]) && (this.$refs[ref] as HTMLVideoElement[])[0]) {\r\n (this.$refs[ref] as HTMLVideoElement[])[0].play();\r\n }\r\n });\r\n }\r\n\r\n imageFromFile(file: File) {\r\n const getFromFile = this.$vmx.file.fromFile;\r\n if (file) {\r\n return file.link ? file.link : getFromFile(`${file.code}.${file.extension}`);\r\n } else {\r\n return getFromFile(undefined);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-guide-row.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-guide-row.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-guide-row.vue?vue&type=template&id=338382a2&scoped=true&\"\nimport script from \"./user-guide-row.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-guide-row.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"338382a2\",\n null\n \n)\n\nexport default component.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\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { helpdeskService } from '@/services/restapi/helpdesk-service';\r\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\r\nimport UserGuideRow from '@/components/help-components/user-guide-row.vue'\r\n\r\n@Component({\r\n components: {\r\n UserGuideRow,\r\n },\r\n})\r\nexport default class UserGuide extends Vue {\r\n tabsData: HelpdeskTab[] = null;\r\n loading = true;\r\n\r\n get tabs(): HelpdeskTab[] {\r\n if (this.tabsData != null) return this.tabsData;\r\n\r\n helpdeskService.getHelpdeskTabs().then((tabs) => {\r\n this.tabsData = tabs;\r\n this.tabsData.sort((x, y) => (x.index < y.index ? -1 : 1));\r\n this.loading = false;\r\n });\r\n return this.tabsData;\r\n }\r\n\r\n get currentTab(): HelpdeskTab {\r\n return this.tabs.filter(tab => tab.id.toString() == this.$route.query.tab)[0];\r\n }\r\n\r\n set currentTab(tab: HelpdeskTab) {\r\n if (this.$route.query.tab != null && this.$route.query.tab == tab.id.toString()) {\r\n return;\r\n }\r\n\r\n this.$router.push({\r\n query: { \r\n ...this.$route.query,\r\n page : [],\r\n tab : [ tab.id.toString() ],\r\n },\r\n })\r\n }\r\n\r\n isCurrentPage(id: number) {\r\n return this.$route.hash != null && this.$route.hash == `#page${id}`;\r\n }\r\n\r\n setCurrentPage(id: number) {\r\n if (this.$route.hash != null && this.$route.hash == `#page${id}`) {\r\n this.$router.push({\r\n hash : undefined,\r\n query : this.$route.query,\r\n })\r\n return;\r\n }\r\n\r\n this.$router.push({\r\n hash : `page${id}`,\r\n query : this.$route.query,\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-guide.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./user-guide.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-guide.vue?vue&type=template&id=1f89bd3f&scoped=true&\"\nimport script from \"./user-guide.vue?vue&type=script&lang=ts&\"\nexport * from \"./user-guide.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f89bd3f\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\r\nimport { Notification } from '@/interfaces/notification';\r\nimport { notificationService } from '@/services/restapi/notification-service';\r\nimport NotificationSidebar from '@/components/sidebars/notification-sidebar.vue';\r\nimport UserGuide from '@/components/help-components/user-guide.vue';\r\n\r\n@Component({\r\n components: {\r\n NotificationSidebar,\r\n UserGuide,\r\n FormBookDemo,\r\n },\r\n})\r\nexport default class HelpView extends Vue {\r\n notifications: Notification[] = null;\r\n showSidebar = false;\r\n\r\n openNotificationSidebar() {\r\n this.showSidebar = true;\r\n notificationService.getNotifications(null).then((notifications) => {\r\n notifications.sort((a, b) => a.created > b.created ? -1 : 1);\r\n this.notifications = notifications;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./help-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./help-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./help-view.vue?vue&type=template&id=1a87efa4&\"\nimport script from \"./help-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./help-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./help-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-12 col-md-8 col-lg-5 my-5\"},[_c('FormImpersonate',{attrs:{\"token\":_vm.token}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"impersonate-form\"},[_c('AbstractForm',{attrs:{\"background\":\"white\",\"text-color\":\"dark\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"pt-4 d-flex justify-content-end\"},[_c('BaseButton',{ref:\"submitButton\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.impersonateForm.buttonText'))+\" \")])],1)]},proxy:true}])},[_c('div',{staticClass:\"row gy-3 mb-3\"},[_c('h2',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.impersonateForm.title'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.impersonateForm.text'))+\" \")]),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputUsername\",attrs:{\"id\":\"input-username\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.username.placeholder'),\"invalid-text\":_vm.$t('components.inputField.username.invalid')},model:{value:(_vm.adminUsername),callback:function ($$v) {_vm.adminUsername=$$v},expression:\"adminUsername\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputPassword\",attrs:{\"id\":\"input-password\",\"type\":\"password\",\"required\":true,\"skip-normal-validation\":true,\"placeholder\":_vm.$t('components.inputField.password.placeholder'),\"invalid-text\":_vm.$t('components.inputField.password.invalid')},model:{value:(_vm.adminPassword),callback:function ($$v) {_vm.adminPassword=$$v},expression:\"adminPassword\"}})],1)]),(_vm.failedLogin)?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.impersonate.failedLogin'))+\" \")]):_vm._e(),(_vm.showError)?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.impersonate.error'))+\" \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n },\r\n})\r\nexport default class FormImpersonate extends Vue {\r\n @Prop({ required: true }) token: string;\r\n\r\n @Ref() inputUsername: BaseInputField;\r\n @Ref() inputPassword: BaseInputField;\r\n\r\n adminUsername = '';\r\n adminPassword = '';\r\n failedLogin = false;\r\n showError = false;\r\n\r\n get formIsValid() {\r\n let isValid = this.inputUsername.validate();\r\n isValid = this.inputPassword.validate() && isValid;\r\n return isValid;\r\n }\r\n\r\n async submit() {\r\n this.failedLogin = false;\r\n this.showError = false;\r\n if (!this.formIsValid) {\r\n return;\r\n }\r\n\r\n try {\r\n this.$vmx.session.impersonate({\r\n username: this.adminUsername,\r\n password: this.adminPassword,\r\n token: this.token,\r\n });\r\n } catch(error) {\r\n if (error === ResponseCodes.UNAUTHORIZED) {\r\n this.failedLogin = true;\r\n } else {\r\n this.showError = true;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-impersonate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-impersonate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-impersonate.vue?vue&type=template&id=0e72d2a1&scoped=true&\"\nimport script from \"./form-impersonate.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-impersonate.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e72d2a1\",\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport FormImpersonate from '@/components/forms/form-impersonate.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n@Component({\r\n components: {\r\n FormImpersonate,\r\n TheHeader,\r\n },\r\n})\r\nexport default class ImpersonateView extends Vue {\r\n @Prop({ required: true }) token: string;\r\n\r\n getBackground(fileName: string) {\r\n return 'url(' + this.$vmx.file.fromFile('project-agent/backgrounds/' + fileName) + ')';\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./impersonate-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./impersonate-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./impersonate-view.vue?vue&type=template&id=142966ec&\"\nimport script from \"./impersonate-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./impersonate-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./impersonate-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row pb-5\"},[_c('h1',{domProps:{\"textContent\":_vm._s(_vm.$t('pages.invalid-session.title'))}}),_c('div',[_vm._v(_vm._s(_vm.$t('pages.invalid-session.text')))])]),_c('div',{staticClass:\"row col-12\"},[_c('div',{ref:\"contactContainer\",staticClass:\"row justify-content-center mb-5\"},[_c('div',{staticClass:\"col-12 col-md-10 col-lg-10 col-xl-5\"},[_c('FormLogin',{attrs:{\"background-color\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"3\",\"padding-y\":\"3\",\"center-header\":true,\"body-text\":\" \"}})],1)]),_c('FormBookDemo',{attrs:{\"title\":_vm.$t('pages.invalid-session.bookdemo'),\"text\":_vm.$t('pages.invalid-session.bookdemoText'),\"mode\":\"customer\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\r\nimport FormLogin from '@/components/forms/form-login.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n\r\n@Component({\r\n components: {\r\n FormBookDemo,\r\n FormLogin,\r\n TheHeader,\r\n },\r\n})\r\nexport default class InvalidSessionView extends Vue {\r\n @Ref() contactContainer: HTMLDivElement;\r\n\r\n scrollToContact() {\r\n if (this.contactContainer) {\r\n this.contactContainer.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./invalid-session-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./invalid-session-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./invalid-session-view.vue?vue&type=template&id=951e22ac&\"\nimport script from \"./invalid-session-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./invalid-session-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./invalid-session-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.error)?_c('Error404',[_c('div',[_vm._v(_vm._s(_vm.$t('general.error')))])]):_c('div',[_c('div',{staticClass:\"d-flex d-row justify-content-between align-items-center mb-3\"},[_c('h1',{staticClass:\"fw-medium text-capitalize\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),(_vm.list != null)?_c('div',[_c('BaseButtonIcon',{attrs:{\"id\":\"edit-list-button\",\"icon-name\":\"cog\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.modals.list.settings.titleEdit')},on:{\"click\":function($event){return _vm.openListSettingsModal()}}})],1):_vm._e()]),(_vm.listItems != null)?_c('ListOverview',{attrs:{\"list-items\":_vm.listItems,\"list\":_vm.list,\"on-persist-blacklist\":_vm.onPersistBlacklist,\"show-show-blacklist-button\":true}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-xl-4 col-lg-6 me-sm-auto my-2\"},[_c('SearchInput',{attrs:{\"placeholder\":_vm.$t('pages.lists.filterTitle'),\"button\":\"\",\"border-bottom\":false,\"background-color\":\"var(--color-white)\"},on:{\"input\":function($event){return _vm.sort()}},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:\"filterText\"}})],1),_c('div',{staticClass:\"col-12 col-sm-auto ms-auto my-2\"},[_c('div',{staticClass:\"d-flex d-row justify-content-end align-items-center h-100\"},[(_vm.showShowBlacklistButton)?_c('BaseInputCheckbox',{staticClass:\"me-3\",attrs:{\"text\":_vm.$t('pages.lists.showAll'),\"on-click\":_vm.toggleShowBlacklist}}):_vm._e(),_c('DropdownOrderBy',{staticClass:\"me-3\",attrs:{\"variant\":\"outline-primary\",\"size\":\"lg\",\"options\":_vm.sortingOptions.map(function (v) { return v[0]; })},on:{\"input\":function($event){return _vm.sort()}},model:{value:(_vm.orderBy),callback:function ($$v) {_vm.orderBy=$$v},expression:\"orderBy\"}}),_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"asc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-up']}})]},proxy:true},{key:\"desc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-down']}})]},proxy:true}]),model:{value:(_vm.orderByDesc),callback:function ($$v) {_vm.orderByDesc=$$v},expression:\"orderByDesc\"}})],1)]),_c('div',{staticClass:\"col-12 col-sm-auto d-flex d-row justify-content-end my-2\"},[_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"card\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fas', 'th-large']}})]},proxy:true},{key:\"list\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'list']}})]},proxy:true}]),model:{value:(_vm.viewType),callback:function ($$v) {_vm.viewType=$$v},expression:\"viewType\"}})],1)])]),(_vm.listItemsResult.length > 0)?_c('div',[(_vm.listView)?_c('SearchItemsListView',{staticClass:\"mt-4\",attrs:{\"limit\":_vm.limit,\"hide-related-procurements\":\"\",\"on-persist-blacklist\":_vm.onPersistBlacklist,\"search-items\":_vm.listItemsResult,\"show-notes\":true,\"list\":_vm.list},on:{\"listUpdated\":function($event){return _vm.sort()}}}):_c('div',{staticClass:\"row\"},_vm._l((_vm.listItemsResultForCards),function(item){return _c('div',{key:item.id,staticClass:\"col-12 col-xl-6 my-2\"},[(_vm.list)?_c('ListItemCard',{attrs:{\"list-item\":item,\"list\":_vm.list,\"on-persist-blacklist\":_vm.onPersistBlacklist},on:{\"listUpdated\":function($event){return _vm.sort()}}}):_c('SearchItemCard',{attrs:{\"search-item\":item,\"hide-procurements\":true,\"on-persist-blacklist\":_vm.onPersistBlacklist,\"related-procurement-text\":\"search.relatedProcurementsNoSearch\"}})],1)}),0),(_vm.showAddtoLimit)?_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){return _vm.addToLimit()}}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('general.seeMore'))+\" \")]),_c('div',{staticClass:\"text-center\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'chevron-double-down'],\"size\":\"1x\"}})],1)])]):_vm._e()],1):_c('BaseContainer',{attrs:{\"show-header\":false,\"body-style-classes\":\"text-center\"}},[(_vm.filterText != '')?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('components.sorting.noResults', [_vm.filterText]))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('pages.lists.emptyList'))+\" \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport * as blacklistUtil from '@/util/blacklist-utils';\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport ListItemCard from '@/components/cards/list-item-card.vue';\r\nimport moment from 'moment';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\nimport { TranslateResult } from 'vue-i18n';\r\n\r\n@Component({\r\n components: {\r\n DropdownOrderBy,\r\n ListItemCard,\r\n SearchInput,\r\n SearchItemCard,\r\n SearchItemsListView,\r\n },\r\n})\r\nexport default class ListOverview extends Vue {\r\n @Prop({ required: true }) listItems: Array;\r\n @Prop({ default: null }) list: List;\r\n\r\n // Blacklist Props\r\n @Prop({ default: false }) showShowBlacklistButton: boolean;\r\n @Prop({ default: null }) onPersistBlacklist: (blacklist: Blacklist) => Promise;\r\n\r\n showBlacklists = false;\r\n\r\n listView = true;\r\n sortedList: Array = [];\r\n\r\n listItemsResult: Array = [];\r\n\r\n\r\n\r\n limit = 20;\r\n showMoreLimit = 20;\r\n\r\n mounted() {\r\n this.sort();\r\n }\r\n\r\n filterTextData = '';\r\n\r\n get filterText() {\r\n return this.filterTextData;\r\n }\r\n\r\n set filterText(val: string) {\r\n this.filterTextData = val;\r\n this.limit = this.showMoreLimit;\r\n }\r\n\r\n\r\n private orderByData: TranslateResult = null;\r\n\r\n public get orderBy(): TranslateResult {\r\n return this.orderByData;\r\n }\r\n\r\n public set orderBy(value: TranslateResult) {\r\n this.orderByData = value;\r\n this.limit = this.showMoreLimit;\r\n }\r\n\r\n private orderByDecendingData = true;\r\n\r\n public get orderByDescending() {\r\n return this.orderByDecendingData;\r\n }\r\n\r\n public set orderByDescending(value) {\r\n this.orderByDecendingData = value;\r\n this.limit = this.showMoreLimit;\r\n }\r\n\r\n created() {\r\n this.orderBy = this.sortingOptions[0][0];\r\n }\r\n\r\n get listItemsResultForCards() {\r\n return this.listItemsResult.splice(0, this.limit);\r\n }\r\n\r\n @Watch('listItems')\r\n @Watch('listView')\r\n @Watch('$vmx.blacklist.blacklists')\r\n @Watch('showBlacklists')\r\n sort() {\r\n this.listItemsResult = [...this.listItems]\r\n .filter(item => item.name.toLowerCase().includes(this.filterText.toLowerCase()))\r\n .filter((item) => {\r\n if (this.showBlacklists) {\r\n return true;\r\n } else {\r\n return !blacklistUtil.isItemInBlacklists(item, this.$vmx.blacklist.userBlacklists)\r\n }\r\n })\r\n .sort(this.sortingMethod)\r\n }\r\n\r\n sortingOptions: [TranslateResult, (a: Project | Procurement, b: Project | Procurement) => number][] = [\r\n [ this.$t('components.sorting.updated'), this.compareLatestUpdate ],\r\n [ this.$t('components.sorting.contractSum'), (a, b) => b.budget - a.budget ],\r\n [ this.$t('components.sorting.published'), (a, b) => moment(a.published).isBefore(moment(b.published)) ? 1 : -1 ],\r\n ]\r\n\r\n toggleShowBlacklist() {\r\n this.showBlacklists = !this.showBlacklists;\r\n this.limit = this.showMoreLimit;\r\n }\r\n\r\n get orderByDesc() {\r\n return this.orderByDescending ? 'desc' : 'asc'\r\n }\r\n\r\n set orderByDesc(val: string) {\r\n this.orderByDescending = val === 'desc';\r\n this.sort();\r\n }\r\n\r\n get sortingMethod(): (a: Project | Procurement, b: Project | Procurement) => number {\r\n let method: (a: Project | Procurement, b: Project | Procurement) => number;\r\n\r\n for (const [sortName, sortMethod] of this.sortingOptions) {\r\n if (this.orderBy.toString() === sortName) {\r\n method = sortMethod;\r\n }\r\n }\r\n return (a, b) => this.orderByDescending ? method(a, b) : method(b, a);\r\n }\r\n\r\n get viewType() {\r\n return this.listView ? 'list' : 'card';\r\n }\r\n\r\n set viewType(val: string) {\r\n this.listView = val === 'list';\r\n this.limit = this.showMoreLimit;\r\n }\r\n\r\n addToLimit() {\r\n this.limit = this.limit + this.showMoreLimit;\r\n }\r\n\r\n get showAddtoLimit(): boolean {\r\n return this.limit <= this.listItemsResult.length;\r\n }\r\n\r\n removeFromList(list: Array, blacklistItem: Blacklist) {\r\n if (blacklistItem.procurementId != null) {\r\n list.splice(\r\n list.findIndex((item) => item.id == blacklistItem.procurementId),\r\n 1,\r\n );\r\n } else if (blacklistItem.projectId != null) {\r\n list.splice(\r\n list.findIndex((item) => item.id == blacklistItem.projectId),\r\n 1,\r\n );\r\n }\r\n }\r\n\r\n isProcurement(item: Project | Procurement) {\r\n return globalFunctions.isProcurement(item);\r\n }\r\n\r\n compareLatestUpdate(a: Procurement | Project, b: Procurement | Project) {\r\n if (!a.lastUpdateDate) return 1;\r\n if (!b.lastUpdateDate) return -1;\r\n return moment(a.lastUpdateDate).isAfter(moment(b.lastUpdateDate)) ? -1 : 1;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-overview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./list-overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./list-overview.vue?vue&type=template&id=f5d37fd6&\"\nimport script from \"./list-overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./list-overview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./list-overview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as blacklistUtil from '@/util/blacklist-utils';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { blacklistService } from '@/services/restapi/blacklist-service';\r\nimport { List } from '@/interfaces/list';\r\nimport ListOverview from '@/components/list-components/list-overview.vue';\r\nimport { listService } from '@/services/restapi/list-service';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport { Watch } from 'vue-slider-component/node_modules/vue-property-decorator';\r\n\r\n@Component({\r\n components: {\r\n ListOverview,\r\n },\r\n})\r\nexport default class ListView extends Vue {\r\n @Prop({ required: true }) id: number;\r\n\r\n blacklists: Blacklist[] = null;\r\n listItems: (Project | Procurement)[] = null;\r\n\r\n showAllBlacklisted = false;\r\n\r\n loading = true;\r\n error = false;\r\n\r\n mounted() {\r\n this.loading = true;\r\n this.$vmx.list.fetchLists().then(() => {\r\n blacklistService.getBlacklists().then((blacklists) => {\r\n this.blacklists = blacklists.filter((blacklist) => blacklist.userIsOnList);\r\n this.updateListItems().finally(() => {\r\n this.loading = false;\r\n });\r\n });\r\n });\r\n }\r\n\r\n get list(): List {\r\n return this.$vmx.list.listById(this.id);\r\n }\r\n\r\n @Watch('list')\r\n @Watch('blacklists')\r\n @Watch('$vmx.modal.lastNoteUpdate')\r\n async updateListItems() {\r\n if (this.list != null) {\r\n try {\r\n this.listItems = await listService.getListItems(this.list.id);\r\n this.error = false;\r\n } catch (error) {\r\n this.error = true;\r\n }\r\n }\r\n }\r\n\r\n get title() {\r\n if (this.list?.paUserIds?.length > 1) {\r\n return `${(this.$t('general.shared') as string).toUpperCase()} - ${this.list.name}`;\r\n }\r\n return this.list?.name;\r\n }\r\n\r\n filterFunc(val: Procurement | Project): boolean {\r\n return !blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\r\n }\r\n\r\n openListSettingsModal() {\r\n this.$vmx.modal.openListSettingsModal({ list: this.list });\r\n }\r\n\r\n async onPersistBlacklist(blacklist: Blacklist): Promise {\r\n return this.$vmx.blacklist.pushBlacklist(blacklist);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./list-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./list-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./list-view.vue?vue&type=template&id=5e70aee6&\"\nimport script from \"./list-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./list-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./list-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'background-image': _vm.isLoading }},[(_vm.isLoading)?_c('div',{staticClass:\"screenarea loading\"},[_c('BaseLoadingSpinner',{attrs:{\"size\":\"10rem\",\"border-size\":\"1rem\"}})],1):_vm._e(),(_vm.data != null)?_c('div',{staticClass:\"printarea background-image\"},[_c('div',{staticClass:\"text-white text-capitalize roboto spaced bg-trademark px-4 py-2 mb-3 d-flex justify-content-between align-items-center\"},[_c('div',{domProps:{\"textContent\":_vm._s(_vm.data.name)}}),_c('img',{ref:\"logoref\",style:({ height: '35px' }),attrs:{\"src\":_vm.getLogo()}})]),_c('div',{staticClass:\"roboto-xs px-4 my-3\",domProps:{\"innerHTML\":_vm._s(_vm.data.summary)}}),(\n _vm.data.notes != null &&\n _vm.noteData.length != 0 &&\n _vm.noteData.length <= 3 &&\n (_vm.hasDateData || _vm.hasInformationData)\n )?_c('div',{staticClass:\"px-4 my-3 nobreak\"},[_c('div',{staticClass:\"row\"},[_c('PrintSection',{staticClass:\"col-4\",attrs:{\"header-text\":_vm.$tc('general.note', _vm.noteData.length == 1 ? 1 : 2)}},_vm._l((_vm.noteData),function(note){return _c('PrintNote',{key:note.id,attrs:{\"note\":note}})}),1),_c('div',{staticClass:\"col-8 pe-0\"},[_c('PrintSection',{staticClass:\"row w-100\",attrs:{\"header-text\":_vm.$t('pages.procurement.importantDates.title'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.getDateData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1),_c('PrintSection',{staticClass:\"row w-100\",attrs:{\"header-text\":_vm.$t('pages.procurement.information'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.informationData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1)],1)],1)]):_c('div',{staticClass:\"px-4 my-3\"},[_c('div',{staticClass:\"row\"},[_c('PrintSection',{staticClass:\"col nobreak\",attrs:{\"header-text\":_vm.$t('pages.procurement.importantDates.title'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.getDateData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1),_c('PrintSection',{staticClass:\"col\",attrs:{\"header-text\":_vm.$t('pages.procurement.information'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.informationData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1)],1),_c('PrintSection',{staticClass:\"nobreak my-3\",attrs:{\"header-text\":_vm.$tc('general.note', _vm.noteData.length == 1 ? 1 : 2)}},[_c('div',{staticClass:\"row row-cols-3\"},_vm._l((_vm.noteData),function(note){return _c('div',{key:note.id,staticClass:\"col\"},[_c('PrintNote',{attrs:{\"note\":note}})],1)}),0)])],1),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('general.criteria.phase')}},[_c('div',{staticClass:\"py-2\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.data.procurementPhaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[(index > 0)?_c('div',{class:_vm.getIconOrder(record) <= 0 ? 'line-solid' : 'line-dashed'}):_vm._e()])}),0),_c('div',{staticClass:\"row align-items-center\"},_vm._l((_vm.data.procurementPhaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[_c('div',{staticClass:\"align-self-center mx-auto d-flex justify-content-center align-items-center\",class:_vm.getIconOrder(record) < 0\n ? 'circle-filled'\n : _vm.getIconOrder(record) == 0\n ? 'circle-bordered'\n : 'circle-dashed'},[_c('FontAwesomeIcon',{class:{\n 'text-trademark': _vm.getIconOrder(record) == 0,\n 'text-white': _vm.getIconOrder(record) < 0,\n 'text-trademark-50': _vm.getIconOrder(record) > 0,\n 'big-icon': _vm.getIconOrder(record) == 0,\n 'normal-icon': _vm.getIconOrder(record) != 0,\n },attrs:{\"icon\":[record.procurementPhase.iconType, record.procurementPhase.icon]}})],1)])}),0),_c('div',{staticClass:\"row py-2\",attrs:{\"align-v\":\"center\"}},_vm._l((_vm.data.procurementPhaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[_c('div',{staticClass:\"align-self-center text-center roboto-sm ps-2\",class:_vm.getIconOrder(record) <= 0 ? 'text-primary' : 'text-trademark-50'},[_vm._v(\" \"+_vm._s(record.procurementPhase.name)+\" \")]),_c('div',{staticClass:\"align-self-center text-center roboto-sm ps-2 py-1\",class:_vm.getIconOrder(record) <= 0 ? 'text-primary' : 'text-trademark-50'},[_vm._v(\" \"+_vm._s(record.date ? _vm.formatDate(record.date) : '--')+\" \")])])}),0)])]),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('pages.procurement.winners.title'),\"body-class\":\"roboto-xs\"}},[(_vm.getWinnersItems() != null)?_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.getWinnerFields()),function(field){return _c('div',{key:field,staticClass:\"col border-bottom border-2 border-black pb-1\"},[_c('b',{staticClass:\"text-uppercase roboto-xs\"},[_vm._v(_vm._s(field))])])}),0),_vm._l((_vm.getWinnersItems()),function(role){return _c('div',{key:role.id,staticClass:\"row border-bottom border-1 border-primary py-1\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(role.companyName)+\" \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(role.role != null ? role.role.name : '')+\" \")]),(role.contactPerson != null)?_c('div',{staticClass:\"col\"},[_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.name)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.mail)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.phone)+\" \")])]):(role.noContactResponse != null)?_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"text-trademark-50\"},[_vm._v(\" \"+_vm._s(role.noContactResponse.text)+\" \")])]):_c('div',{staticClass:\"col\"})])})],2):_vm._e()]),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('pages.procurement.description')}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.data.description)}})])],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"bg-trademark-50 rounded roboto-sm spaced px-2 py-1 my-1\",domProps:{\"textContent\":_vm._s(_vm.note.title)}}),_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"lato-xs me-auto\",domProps:{\"textContent\":_vm._s(_vm.createdDate)}}),_c('div',{staticClass:\"lato-xs\",domProps:{\"textContent\":_vm._s(_vm.note.createdBy)}})]),_c('div',{staticClass:\"my-2 lato-xs\",domProps:{\"textContent\":_vm._s(_vm.note.text)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { Note } from '@/interfaces/note';\r\n\r\n@Component\r\nexport default class PrintNote extends Vue {\r\n @Prop({ required: true }) note: Note;\r\n\r\n get createdDate(): string {\r\n return formatUtils.formatDate(this.note?.created, 'DD.MM.YYYY');\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-note.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-note.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./print-note.vue?vue&type=template&id=21827f9b&scoped=true&\"\nimport script from \"./print-note.vue?vue&type=script&lang=ts&\"\nexport * from \"./print-note.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21827f9b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"px-0 container-fluid\"},[_c('div',{staticClass:\"row my-2\"},[_c('div',{staticClass:\"col\"},[_c('b',[_vm._v(\" \"+_vm._s(_vm.label)+\" \")])]),_c('div',{staticClass:\"col-8\"},_vm._l((_vm.getDatas),function(data){return _c('div',{key:data.data,class:data.class.join(' ')},[_vm._v(\" \"+_vm._s(data.data)+\" \")])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class PrintRow extends Vue {\r\n @Prop({ default: 'MISSING LABEL'}) label: string;\r\n @Prop({ default: null }) datas: { data: string; class: string[] }[]\r\n\r\n get getDatas() {\r\n const filterdata = this.datas?.filter(({ data }) => data != null && data.length > 0);\r\n if (filterdata == null || filterdata.length == 0) {\r\n return null;\r\n } else {\r\n return filterdata;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-row.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-row.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./print-row.vue?vue&type=template&id=6956bb52&scoped=true&\"\nimport script from \"./print-row.vue?vue&type=script&lang=ts&\"\nexport * from \"./print-row.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6956bb52\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((_vm.$slots.default != null && _vm.$slots.default.length > 0) || _vm.defaultText != null)?_c('div',[_c('div',{class:'bg-trademark text-white text-capitalize roboto-sm spaced mb-2 px-2 py-1' +\n _vm.headerClass},[_vm._t(\"header\",function(){return [_c('b',[_vm._v(_vm._s(_vm.headerText.length != 0 ? _vm.headerText : _vm.$t('general.missingContent')))])]})],2),_c('div',{class:_vm.bodyClass},[_vm._t(\"default\",function(){return [_c('div',{staticClass:\"container-fluid\"},[_c('div',{attrs:{\"align-h\":\"row align-items-center\"}},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(_vm.defaultText)+\" \")])])])]})],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class PrintSection extends Vue {\r\n @Prop({ default: '' }) headerClass: string;\r\n @Prop({ default: '' }) headerText: string;\r\n @Prop({ default: '' }) bodyClass: string;\r\n @Prop({ default: null }) defaultText: string;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-section.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./print-section.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./print-section.vue?vue&type=template&id=00118472&scoped=true&\"\nimport script from \"./print-section.vue?vue&type=script&lang=ts&\"\nexport * from \"./print-section.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"00118472\",\n null\n \n)\n\nexport default component.exports","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Procurement } from '@/interfaces/procurement';\r\n\r\nconst api = '/procurements';\r\nexport class ProcurementService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getProcurementById = async (id: number): Promise => {\r\n const response = await this.get(`${api}/byId/${id}`);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const procurementService = new ProcurementService(apiConfig);\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Project } from '@/interfaces/project';\r\n\r\nconst api = '/projects';\r\n\r\nexport class ProjectService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getProjectById = async (id: number): Promise => {\r\n const response = await this.get(`${api}/byId/${id}`);\r\n return this.getResponse(response);\r\n };\r\n\r\n public getNewestProjects = async (limit: number): Promise => {\r\n const response = await this.get(`${api}/newest/${limit}`);\r\n return this.getResponse(response);\r\n };\r\n\r\n}\r\n\r\nexport const projectService = new ProjectService(apiConfig);\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseLogo from '@/components/buttons/base-logo.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { LocaleMessage } from 'vue-i18n';\r\nimport { Note } from '@/interfaces/note';\r\nimport PrintNote from '@/components/print/print-note.vue';\r\nimport PrintRow from '@/components/print/print-row.vue';\r\nimport PrintSection from '@/components/print/print-section.vue';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementPhaseRecord } from '@/interfaces/procurement-phase-record';\r\nimport { procurementService } from '@/services/restapi/procurement-service';\r\nimport { Project } from '@/interfaces/project';\r\nimport { projectService } from '@/services/restapi/project-service';\r\n\r\nComponent.registerHooks(['beforeRouteEnter']);\r\n\r\n@Component({\r\n components: {\r\n BaseLogo,\r\n PrintSection,\r\n PrintRow,\r\n PrintNote,\r\n },\r\n})\r\nexport default class PrintProcurementView extends Vue {\r\n @Prop() id: string;\r\n\r\n data: Procurement = null;\r\n project: Project = null;\r\n isLoading = true;\r\n\r\n created() {\r\n window.onafterprint = () => {\r\n this.$router.go(-1);\r\n };\r\n }\r\n\r\n mounted() {\r\n this.fetchData().then(async (data) => {\r\n this.data = data;\r\n\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n this.$nextTick(() => {\r\n window.print();\r\n });\r\n }, 1000);\r\n });\r\n }\r\n\r\n async fetchData(): Promise {\r\n const procurement = await procurementService.getProcurementById(Number.parseInt(this.id));\r\n if (this.data?.project?.id != null) {\r\n const project = await projectService.getProjectById(this.data.project.id);\r\n }\r\n\r\n return {\r\n ...procurement,\r\n start: this.project?.start ?? procurement.start,\r\n end: this.project?.end ?? procurement.end,\r\n };\r\n }\r\n\r\n formatInfo(data: string): { data: string; class: string[] } {\r\n if (data == null) {\r\n return null;\r\n }\r\n return { data: data, class: ['mb-1'] };\r\n }\r\n\r\n formatUrl(data: string): { data: string; class: string[] } {\r\n return { data: data, class: ['mb-1', 'text-underlined', 'text-primary', 'text-underlined'] };\r\n }\r\n\r\n formatDate(date: string) {\r\n return date != null ? formatUtils.formatDate(date, 'DD.MM.YYYY') : 'N/A';\r\n }\r\n\r\n formatDates(date1: string, date2: string) {\r\n if (date1 == null && date2 == null) {\r\n return null;\r\n }\r\n return `${this.formatDate(date1)} - ${this.formatDate(date2)}`;\r\n }\r\n\r\n // NAVN & LOGO\r\n getLogo(): string {\r\n return this.$vmx.file.fromFile('project-agent/logo-210x50.svg');\r\n }\r\n\r\n // Dates\r\n get hasDateData() {\r\n return this.getDateData != null && this.getDateData.length != 0;\r\n }\r\n\r\n get getDateData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\r\n return [\r\n { label: this.startEndLabel, datas: this.startEndData },\r\n {\r\n label: this.$t('pages.procurement.importantDates.participation'),\r\n datas: this.participationData,\r\n },\r\n {\r\n label: this.$t('pages.procurement.importantDates.offers'),\r\n datas: this.offerData,\r\n },\r\n {\r\n label: this.$t('pages.procurement.importantDates.materials'),\r\n datas: this.materialData,\r\n },\r\n {\r\n label: this.$t('pages.procurement.importantDates.inquiries'),\r\n datas: this.inquiryData,\r\n },\r\n ].filter((v) => v != null);\r\n }\r\n\r\n get startEndLabel(): LocaleMessage {\r\n if (this.data.start != null && this.data.end != null) {\r\n return this.$t('general.criteria.startEnd');\r\n } else if (this.data.start != null) {\r\n return this.$t('general.criteria.startEndOptions.start');\r\n } else if (this.data.end != null) {\r\n return this.$t('general.criteria.startEndOptions.end');\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get startEndData(): { data: string; class: string[] }[] {\r\n let startEnd: string[];\r\n\r\n if (\r\n this.data.start != null &&\r\n this.data.start.length != 0 &&\r\n this.data.end != null &&\r\n this.data.end.length != 0\r\n ) {\r\n startEnd = [this.data.start + ' - ' + this.data.end];\r\n } else if (this.data.start != null && this.data.start.length != null) {\r\n startEnd = [this.data.start];\r\n } else if (this.data.end != null && this.data.end.length != null) {\r\n startEnd = [this.data.end];\r\n }\r\n\r\n return startEnd?.map(this.formatInfo);\r\n }\r\n\r\n get participationData(): { data: string; class: string[] }[] {\r\n const datas = [\r\n this.formatDates(this.data.participationFrom, this.data.participationTo),\r\n this.data.participationAddress,\r\n this.data.participationNote,\r\n ]\r\n .map(this.formatInfo)\r\n .concat(this.formatUrl(this.data.participationLink))\r\n .filter((data) => data?.data != null && data.data.length != 0);\r\n if (datas.length == 0) {\r\n return null;\r\n }\r\n return datas;\r\n }\r\n\r\n get offerData(): { data: string; class: string[] }[] {\r\n const datas = [\r\n this.formatDates(this.data.offersFrom, this.data.offersTo),\r\n this.data.offersAddress,\r\n this.data.offersNote,\r\n ]\r\n .map(this.formatInfo)\r\n .concat(this.formatUrl(this.data.offersLink))\r\n .filter((data) => data?.data != null && data.data.length != 0);\r\n if (datas.length == 0) {\r\n return null;\r\n }\r\n return datas;\r\n }\r\n\r\n get materialData(): { data: string; class: string[] }[] {\r\n const datas = [\r\n this.formatDates(this.data.materialFrom, this.data.materialTo),\r\n this.data.materialAddress,\r\n ]\r\n .map(this.formatInfo)\r\n .concat(this.formatUrl(this.data.materialLink))\r\n .filter((data) => data?.data != null && data.data.length != 0);\r\n if (datas.length == 0) {\r\n return null;\r\n }\r\n return datas;\r\n }\r\n\r\n get inquiryData(): { data: string; class: string[] }[] {\r\n const datas = [\r\n this.formatDates(this.data.inquiryFrom, this.data.inquiryTo),\r\n this.data.inquiryAddress,\r\n ]\r\n .map(this.formatInfo)\r\n .concat(this.formatUrl(this.data.inquiryLink))\r\n .filter((data) => data?.data != null && data.data.length != 0);\r\n if (datas.length == 0) {\r\n return null;\r\n }\r\n return datas;\r\n }\r\n\r\n // Information\r\n get hasInformationData(): boolean {\r\n return this.informationData != null && this.informationData.length != 0;\r\n }\r\n\r\n get informationData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\r\n const information = [this.procurementTypeData];\r\n for (const criterionType of this.$vmx.criterion.standardCriterionTypes) {\r\n information.push({\r\n label: this.$tc(criterionType.translationProperty, 2),\r\n datas: this.getCriterionDataForType(criterionType.id),\r\n });\r\n }\r\n information.push(this.estimatedSumData)\r\n return information.filter((v) => v != null && v.datas != null && v.datas.length > 0);\r\n }\r\n\r\n get procurementTypeData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] } {\r\n const data: string = this.data.procurementType?.name;\r\n return data == null\r\n ? null\r\n : { label: this.$t('general.criteria.procurementType'), datas: [this.formatInfo(data)] };\r\n }\r\n\r\n get estimatedSumData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] } {\r\n const data = this.data.budget;\r\n if (data == null) {\r\n return null;\r\n }\r\n return {\r\n label: this.$t('general.criteria.estimatedSum'),\r\n datas: [this.formatInfo(this.$n(data, 'currency', 'da-DK'))],\r\n };\r\n }\r\n\r\n // Notes\r\n get noteData(): Note[] {\r\n return this.data.notes.filter(\r\n (note) =>\r\n note != null &&\r\n note.title != null &&\r\n note.title.length != 0 &&\r\n note.text != null &&\r\n note.text.length != 0,\r\n );\r\n }\r\n\r\n get noteDataSize(): boolean {\r\n return (\r\n this.data.notes.length > 3 ||\r\n this.data.notes.map((note) => note.text).reduce((acc, val) => val + acc, '').length > 900\r\n );\r\n }\r\n\r\n getCriterionDataForType(typeId: number) {\r\n const data = this.data.criteria?.filter(criterion => criterion.typeId === typeId)\r\n .map((criterion) => criterion.name).join(', ') ?? null;\r\n return data ? [this.formatInfo(data)] : null;\r\n }\r\n\r\n // PHASE RECORDS\r\n getIconOrder(record: ProcurementPhaseRecord): number {\r\n return record.procurementPhase.id - this.data.procurementPhase.id;\r\n }\r\n\r\n getCircleStyle(record: ProcurementPhaseRecord) {\r\n return {\r\n width: this.getIconOrder(record) == 0 ? '60px' : '32px',\r\n height: this.getIconOrder(record) == 0 ? '60px' : '32px',\r\n 'border-radius': '50%',\r\n 'border-color': 'trademark',\r\n 'background-color': 'trademark',\r\n };\r\n }\r\n\r\n // WINNERS\r\n getWinnerFields() {\r\n const data = [\r\n this.$t('pages.procurement.winners.companyField'),\r\n this.$t('pages.procurement.winners.roleField'),\r\n this.$t('components.modals.role.contact'),\r\n ];\r\n return data;\r\n // return [\r\n // { key: 'companyName', label: this.$t('pages.procurement.winners.companyField') },\r\n // { key: 'role', label: this.$t('pages.procurement.winners.roleField') },\r\n // { key: 'contact', label: this.$t('components.modals.role.contact') },\r\n // ];\r\n }\r\n\r\n getWinnersItems() {\r\n const data = this.data.companyRoles?.filter((val) => val.isWinner);\r\n if (data == null || data.length == 0) {\r\n return null;\r\n }\r\n return data;\r\n // const items = this.data.companyRoles\r\n // ?.filter((role) => role.isWinner)\r\n // .map((role) => {\r\n // return {\r\n // companyName: role.companyName,\r\n // role: role.role?.name,\r\n // name: role.\r\n // ${role.contactPerson?.name}\r\n // ${role.contactPerson?.mail}\r\n // ${role.contactPerson?.phone}\r\n // `,\r\n // };\r\n // });\r\n // return items;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./print-procurement-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./print-procurement-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./print-procurement-view.vue?vue&type=template&id=a30a6414&\"\nimport script from \"./print-procurement-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./print-procurement-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./print-procurement-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'background-image': _vm.isLoading }},[(_vm.isLoading)?_c('div',{staticClass:\"screenarea loading\"},[_c('BaseLoadingSpinner',{attrs:{\"size\":\"10rem\",\"border-size\":\"1rem\"}})],1):_vm._e(),(_vm.data != null)?_c('div',{staticClass:\"printarea background-image\"},[_c('div',{staticClass:\"text-white text-capitalize roboto spaced bg-trademark px-4 py-2 mb-3 d-flex justify-content-between align-items-center\"},[_c('div',{domProps:{\"textContent\":_vm._s(_vm.data.name)}}),_c('img',{ref:\"logoref\",style:({ height: '35px' }),attrs:{\"src\":_vm.getLogo()}})]),_c('div',{staticClass:\"roboto-xs px-4 my-3\",domProps:{\"innerHTML\":_vm._s(_vm.data.description)}}),(\n _vm.data.notes != null &&\n _vm.noteData.length != 0 &&\n _vm.noteData.length <= 3 &&\n (_vm.hasDateData || _vm.hasInformationData)\n )?_c('div',{staticClass:\"px-4 my-3 nobreak\"},[_c('div',{staticClass:\"row\"},[_c('PrintSection',{staticClass:\"col-4\",attrs:{\"header-text\":_vm.$tc('general.note', _vm.noteData.length == 1 ? 1 : 2)}},_vm._l((_vm.noteData),function(note){return _c('PrintNote',{key:note.id,attrs:{\"note\":note}})}),1),_c('div',{staticClass:\"col-8\"},[_c('PrintSection',{attrs:{\"header-text\":_vm.$t('pages.procurement.importantDates.title'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.getDateData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1),_c('PrintSection',{attrs:{\"header-text\":_vm.$t('pages.procurement.information'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.informationData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1)],1)],1)]):_c('div',{staticClass:\"px-4 my-3\"},[_c('div',{staticClass:\"row\"},[(_vm.hasDateData)?_c('PrintSection',{staticClass:\"col\",attrs:{\"header-text\":_vm.$t('pages.procurement.importantDates.title'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.getDateData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1):_vm._e(),(_vm.hasInformationData)?_c('PrintSection',{staticClass:\"col\",attrs:{\"header-text\":_vm.$t('pages.procurement.information'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.informationData),function(ref){\n var label = ref.label;\n var datas = ref.datas;\nreturn _c('PrintRow',{key:label,attrs:{\"label\":label,\"datas\":datas}})}),1):_vm._e()],1),(_vm.hasNoteData)?_c('PrintSection',{staticClass:\"nobreak my-3\",attrs:{\"header-text\":_vm.$tc('general.note', _vm.noteData.length == 1 ? 1 : 2)}},[_c('div',{staticClass:\"row row-cols-3\"},_vm._l((_vm.noteData),function(note){return _c('div',{key:note.id,staticClass:\"col\"},[_c('PrintNote',{attrs:{\"note\":note}})],1)}),0)]):_vm._e()],1),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('general.criteria.phase')}},[_c('div',{staticClass:\"py-2\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.phaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[(index > 0)?_c('div',{class:_vm.getIconOrder(record) <= 0 ? 'line-solid' : 'line-dashed'}):_vm._e()])}),0),_c('div',{staticClass:\"row align-items-center\"},_vm._l((_vm.phaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[_c('div',{staticClass:\"align-self-center mx-auto d-flex justify-content-center align-items-center\",class:_vm.getIconOrder(record) < 0\n ? 'circle-filled'\n : _vm.getIconOrder(record) == 0\n ? 'circle-bordered'\n : 'circle-dashed'},[_c('FontAwesomeIcon',{class:{\n 'text-trademark': _vm.getIconOrder(record) == 0,\n 'text-white': _vm.getIconOrder(record) < 0,\n 'text-trademark-50': _vm.getIconOrder(record) > 0,\n 'big-icon': _vm.getIconOrder(record) == 0,\n 'normal-icon': _vm.getIconOrder(record) != 0,\n },attrs:{\"icon\":[record.projectPhase.iconType, record.projectPhase.icon]}})],1)])}),0),_c('div',{staticClass:\"row py-2\",attrs:{\"align-v\":\"center\"}},_vm._l((_vm.phaseRecords),function(record,index){return _c('div',{key:index,staticClass:\"col\"},[_c('div',{staticClass:\"align-self-center text-center roboto-sm ps-2\",class:_vm.getIconOrder(record) <= 0 ? 'text-primary' : 'text-trademark-50'},[_vm._v(\" \"+_vm._s(record.projectPhase.name)+\" \")]),_c('div',{staticClass:\"align-self-center text-center roboto-sm ps-2 py-1\",class:_vm.getIconOrder(record) <= 0 ? 'text-primary' : 'text-trademark-50'},[_vm._v(\" \"+_vm._s(record.date ? _vm.formatDate(record.date) : '--')+\" \")])])}),0)])]),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('pages.procurement.winners.title'),\"body-class\":\"roboto-xs\"}},[(_vm.getWinnersItems() != null)?_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.getWinnerFields()),function(field){return _c('div',{key:field,staticClass:\"col border-bottom border-2 border-black pb-1\"},[_c('b',{staticClass:\"text-uppercase roboto-xs\"},[_vm._v(_vm._s(field))])])}),0),_vm._l((_vm.getWinnersItems()),function(role){return _c('div',{key:role.id,staticClass:\"row border-bottom border-1 border-primary py-1\"},[_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(role.companyName)+\" \")]),_c('div',{staticClass:\"col\"},[_vm._v(\" \"+_vm._s(role.role != null ? role.role.name : '')+\" \")]),(role.contactPerson != null)?_c('div',{staticClass:\"col\"},[_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.name)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.mail)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(role.contactPerson.phone)+\" \")])]):(role.noContactResponse != null)?_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"text-trademark-50\"},[_vm._v(\" \"+_vm._s(role.noContactResponse.text)+\" \")])]):_c('div',{staticClass:\"col\"})])})],2):_vm._e()]),_c('PrintSection',{staticClass:\"px-4 my-3 nobreak\",attrs:{\"header-text\":_vm.$t('pages.project.images'),\"body-class\":\"roboto-xs\"}},_vm._l((_vm.picturesData),function(picture,key){return _c('div',{key:key,staticClass:\"row my-3 nobreak\"},[_c('div',{staticClass:\"col-6\"},[(picture[0] != null)?_c('img',{staticClass:\"rounded shadow\",style:({ width: '100%', height: 'auto' }),attrs:{\"src\":picture[0].link},on:{\"load\":_vm.onLoad}}):_vm._e()]),_c('div',{staticClass:\"col-6\"},[(picture[1] != null)?_c('img',{staticClass:\"rounded\",style:({ width: '100%', height: 'auto' }),attrs:{\"src\":picture[1].link},on:{\"load\":_vm.onLoad}}):_vm._e()])])}),0)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseLogo from '@/components/buttons/base-logo.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { LocaleMessage } from 'vue-i18n';\r\nimport { Note } from '@/interfaces/note';\r\nimport PrintNote from '@/components/print/print-note.vue';\r\nimport PrintRow from '@/components/print/print-row.vue';\r\nimport PrintSection from '@/components/print/print-section.vue';\r\nimport { Project } from '@/interfaces/project';\r\nimport { ProjectPhaseRecord } from '@/interfaces/project-phase-record';\r\nimport { projectService } from '@/services/restapi/project-service';\r\nimport { Update } from '@/interfaces/update';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component({\r\n components: {\r\n BaseLogo,\r\n PrintSection,\r\n PrintRow,\r\n PrintNote,\r\n },\r\n})\r\nexport default class PrintProjectView extends Vue {\r\n @Prop() id: string;\r\n\r\n data: Project = null;\r\n\r\n loadedImages: number;\r\n\r\n isLoading = true;\r\n\r\n created() {\r\n window.onafterprint = () => {\r\n this.$router.go(-1);\r\n this.$nextTick(() => {\r\n // window.print();\r\n });\r\n };\r\n }\r\n\r\n mounted() {\r\n this.fetchData().then(async (data) => {\r\n this.data = data;\r\n this.loadedImages = 0;\r\n\r\n setTimeout(() => {\r\n const numberOfImages = this.data.files.filter((v) => v.image != null).length;\r\n\r\n this.printIfImageLoaded(numberOfImages);\r\n }, 1000);\r\n });\r\n }\r\n\r\n printIfImageLoaded(numberOfImages: number) {\r\n setTimeout(() => {\r\n if (this.loadedImages >= numberOfImages) {\r\n this.isLoading = false;\r\n this.$nextTick().then(() => {\r\n window.print();\r\n });\r\n } else {\r\n this.printIfImageLoaded(numberOfImages);\r\n }\r\n }, 200);\r\n }\r\n\r\n async fetchData(): Promise {\r\n const project = await projectService.getProjectById(Number.parseInt(this.id));\r\n return project;\r\n }\r\n\r\n formatInfo(data: string): { data: string; class: string[] } {\r\n if (data == null) {\r\n return null;\r\n }\r\n return { data: data, class: ['mb-1'] };\r\n }\r\n\r\n formatUrl(data: string): { data: string; class: string[] } {\r\n return { data: data, class: ['mb-1', 'text-underlined', 'text-primary', 'text-underlined'] };\r\n }\r\n\r\n formatDate(date: string) {\r\n return date != null ? formatUtils.formatDate(date, 'DD.MM.YYYY') : 'N/A';\r\n }\r\n\r\n formatDates(date1: string, date2: string) {\r\n if (date1 == null && date2 == null) {\r\n return null;\r\n }\r\n return `${this.formatDate(date1)} - ${this.formatDate(date2)}`;\r\n }\r\n\r\n // NAVN & LOGO\r\n getLogo(): string {\r\n return this.$vmx.file.fromFile('project-agent/logo-210x50.svg');\r\n }\r\n\r\n // Date\r\n get hasDateData() {\r\n return this.getDateData != null && this.getDateData.length != 0;\r\n }\r\n\r\n get getDateData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\r\n return [\r\n { label: this.startEndLabel, datas: this.startEndData },\r\n { label: this.$tc('general.latestUpdate', 1), datas: this.lastUpdateDateData },\r\n { label: this.$t('general.published'), datas: this.publishedData },\r\n ].filter((v) => v.datas != null && v.datas.length != 0);\r\n }\r\n\r\n get startEndLabel(): LocaleMessage {\r\n if (this.data.start != null && this.data.end != null) {\r\n return this.$t('general.criteria.startEnd');\r\n } else if (this.data.start != null) {\r\n return this.$t('general.criteria.startEndOptions.start');\r\n } else if (this.data.end != null) {\r\n return this.$t('general.criteria.startEndOptions.end');\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get startEndData(): { data: string; class: string[] }[] {\r\n let startEnd: string[];\r\n\r\n if (\r\n this.data.start != null &&\r\n this.data.start.length != 0 &&\r\n this.data.end != null &&\r\n this.data.end.length != 0\r\n ) {\r\n startEnd = [this.data.start + ' - ' + this.data.end];\r\n } else if (this.data.start != null && this.data.start.length != null) {\r\n startEnd = [this.data.start];\r\n } else if (this.data.end != null && this.data.end.length != null) {\r\n startEnd = [this.data.end];\r\n }\r\n\r\n return startEnd?.map(this.formatInfo);\r\n }\r\n\r\n get lastUpdateDateData(): { data: string; class: string[] }[] {\r\n const data = this.data.lastUpdateDate;\r\n if (data == null) {\r\n return null;\r\n }\r\n return [this.formatInfo(data)];\r\n }\r\n\r\n get publishedData(): { data: string; class: string[] }[] {\r\n const data = this.data.published;\r\n if (data == null) {\r\n return null;\r\n }\r\n return [this.formatInfo(data)];\r\n }\r\n\r\n // Information\r\n get hasInformationData(): boolean {\r\n return this.informationData != null && this.informationData.length != 0;\r\n }\r\n\r\n get informationData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\r\n const information = [];\r\n for (const criterionType of this.$vmx.criterion.standardCriterionTypes) {\r\n information.push({\r\n label: this.$tc(criterionType.translationProperty, 2),\r\n datas: this.getCriterionDataForType(criterionType.id),\r\n });\r\n }\r\n information.push({ label: this.$t('general.criteria.estimatedSum'), datas: this.budgetData });\r\n return information.filter((v) => v.datas != null && v.datas.length > 0);\r\n }\r\n\r\n get budgetData() {\r\n if (this.data.budget == null) {\r\n return null;\r\n }\r\n const data = this.data.budget.toLocaleString('da') + 'kr.';\r\n return [this.formatInfo(data)];\r\n }\r\n\r\n // PHASE RECORDS\r\n get phaseRecords(): ProjectPhaseRecord[] {\r\n return this.data.projectPhaseRecords;\r\n }\r\n\r\n getCriterionDataForType(typeId: number) {\r\n const data = this.data.criteria?.filter(criterion => criterion.typeId === typeId)\r\n .map((criterion) => criterion.name).join(', ') ?? null;\r\n return data ? [this.formatInfo(data)] : null;\r\n }\r\n\r\n getIconOrder(record: ProjectPhaseRecord): number {\r\n return record.projectPhase.id - this.data.projectPhase.id;\r\n }\r\n\r\n getCircleStyle(record: ProjectPhaseRecord) {\r\n return {\r\n width: this.getIconOrder(record) == 0 ? '60px' : '32px',\r\n height: this.getIconOrder(record) == 0 ? '60px' : '32px',\r\n 'border-radius': '50%',\r\n 'border-color': 'trademark',\r\n 'background-color': 'trademark',\r\n };\r\n }\r\n\r\n // Roles\r\n getWinnerFields() {\r\n const data = [\r\n this.$t('pages.procurement.winners.companyField'),\r\n this.$t('pages.procurement.winners.roleField'),\r\n this.$t('components.modals.role.contact'),\r\n ];\r\n return data;\r\n }\r\n\r\n getWinnersItems() {\r\n const data = this.data.companyRoles;\r\n if (data == null || data.length == 0) {\r\n return null;\r\n }\r\n return data;\r\n }\r\n\r\n // Notes\r\n get hasNoteData(): boolean {\r\n return this.noteData != null && this.noteData.length != 0;\r\n }\r\n get noteData(): Note[] {\r\n return this.data.notes.filter(\r\n (note) =>\r\n note != null &&\r\n note.title != null &&\r\n note.title.length != 0 &&\r\n note.text != null &&\r\n note.text.length != 0,\r\n );\r\n }\r\n\r\n get noteDataSize(): boolean {\r\n return (\r\n this.data.notes.length > 3 ||\r\n this.data.notes.map((note) => note.text).reduce((acc, val) => val + acc, '').length > 900\r\n );\r\n }\r\n\r\n // Picture\r\n get picturesData() {\r\n // return this.data.files.filter((v) => v.image != null);\r\n const pictures = this.data.files.filter((v) => v.image != null);\r\n const newpicture = [];\r\n while (pictures.length > 0) {\r\n newpicture.push([pictures.pop(), pictures.pop()]);\r\n }\r\n return newpicture;\r\n }\r\n\r\n onLoad(bla: any) {\r\n this.loadedImages += 1;\r\n }\r\n}\r\n","export enum AnnouncementTypes {\r\n UPDATE = 'Opdatering',\r\n CHANGE = 'Rettelse',\r\n RESULT = 'Resultat',\r\n CANCELLATION = 'Annullering',\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./print-project-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./print-project-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./print-project-view.vue?vue&type=template&id=0acd158a&\"\nimport script from \"./print-project-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./print-project-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./print-project-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"procurement-view\"},[(_vm.loading)?_c('div',[_c('BaseLoadingSpinner',{attrs:{\"size\":\"6rem\",\"border-size\":\".75rem\"}})],1):_c('div',{attrs:{\"id\":\"procurement-view\"}},[(_vm.procurement != null)?_c('div',[(_vm.procurement.inProgress || !_vm.isAboveBasicProduct)?_c('div',{staticClass:\"row mb-4\"},[(!_vm.isAboveBasicProduct)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_c('div',{staticClass:\"d-flex flex-row justify-content-start align-items-center\"},[_c('div',{staticClass:\"pe-3\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'lock'],\"size\":\"2x\"}})],1),_c('div',[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.limited.title'))+\" \")]),_c('div',{staticClass:\"roboto-sm\",domProps:{\"innerHTML\":_vm._s(_vm.$t('pages.procurement.limited.text'))}})])])])],1):_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_c('div',{staticClass:\"d-flex flex-row justify-content-start\"},[_c('div',{staticClass:\"pe-3\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'hard-hat'],\"size\":\"2x\"}})],1),_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"align-middle\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.inPreparation'))+\" \")])])])])],1)]):_vm._e(),_c('div',{staticClass:\"row g-4 d-flex flex-lg-row-reverse\"},[_c('div',{staticClass:\"col-12 col-lg-9\"},[_c('div',{staticClass:\"row g-4\"},[(_vm.windowSize < 992)?_c('div',{staticClass:\"col-12\"},[_c('IconBar',{attrs:{\"id\":(\"procurement-icon-bar-\" + (_vm.procurement.id)),\"size\":\"lg\",\"variant\":_vm.$vmx.user.hasProduct ? 'primary' : 'secondary',\"data-object\":_vm.procurement,\"fixed-height\":true}})],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"NAME\",\"header-bg-color\":_vm.getHashColor('NAME'),\"show-body\":_vm.procurement.summary},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"roboto-lg\"},[_vm._v(\" \"+_vm._s(_vm.procurement.name)+\" \")])]},proxy:true}],null,false,2352144799)},[(_vm.procurement.summary)?_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\"},[(_vm.procurement.summary)?_c('div',{ref:\"summary\",class:{ 'limited-height': _vm.windowSize < 768 && _vm.summaryCollapsed },domProps:{\"innerHTML\":_vm._s(_vm.procurement.summary)}}):_vm._e()]),(_vm.showSummaryFoldingButton)?_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-end\"},[_c('div',{staticClass:\"roboto-sm fw-bold blue text-decoration-underline clickable\",on:{\"click\":function($event){return _vm.toggleSummary()}}},[_vm._v(\" \"+_vm._s(_vm.summaryCollapsed ? _vm.$t('general.seeMore') : _vm.$t('general.seeLess'))+\" \")])])]):_vm._e()]):_vm._e()])],1),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12 col-xl-6 order-2 order-xl-1\"},[_c('BaseContainer',{attrs:{\"id\":\"INFORMATION\",\"header-bg-color\":_vm.getHashColor('INFORMATION'),\"full-height\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.information'))+\" \")]},proxy:true}],null,false,2484115372)},[_c('div',{staticClass:\"rowalign-items-stretch\"},[_c('div',{staticClass:\"col-12 mb-4\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.procurementType'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.procurementType)+\" \")])]),_c('div',{staticClass:\"col-12 mb-4\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.estimatedSum'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.budgetString)+\" \")])]),_vm._l((_vm.$vmx.criterion.standardCriterionTypes),function(criterionType){return _c('div',{key:criterionType.id,staticClass:\"col-12\"},[(_vm.getCriteriaOfTypeString(criterionType.id))?_c('div',{staticClass:\"mb-4\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$tc(criterionType.translationProperty, 1))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.getCriteriaOfTypeString(criterionType.id))+\" \")])]):_vm._e()])})],2)])],1),_c('div',{staticClass:\"col-12 col-xl-6 order-1 order-xl-2\"},[_c('BaseContainer',{attrs:{\"id\":\"DATES\",\"header-bg-color\":_vm.getHashColor('DATES'),\"full-height\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.importantDates.title'))+\" \")]},proxy:true}],null,false,1350561263)},[(_vm.projectStart || _vm.projectEnd)?_c('div',{staticClass:\"py-2 border-2 border-bottom border-background\"},[_c('table',{staticClass:\"table-borderless\"},[(_vm.projectStart)?_c('tr',[_c('th',{staticClass:\"pe-3\",attrs:{\"scope\":\"row\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEndOptions.start'))+\" \")]),_c('td',{class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.projectStart)+\" \")])]):_vm._e(),(_vm.projectEnd)?_c('tr',[_c('th',{staticClass:\"pe-3\",attrs:{\"scope\":\"row\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEndOptions.end'))+\" \")]),_c('td',{class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.projectEnd)+\" \")])]):_vm._e()])]):_vm._e(),(_vm.hasParticipation)?_c('div',{staticClass:\"py-2 border-2 border-bottom border-background\"},[_c('ContainerDateRow',{attrs:{\"procurement-name\":_vm.procurement.name,\"text\":\"pages.procurement.importantDates.participation\",\"from-date\":_vm.procurement.participationFrom,\"to-date\":_vm.procurement.participationTo,\"address\":_vm.procurement.participationAddress,\"note\":_vm.procurement.participationNote,\"link\":_vm.procurement.participationLink}})],1):_vm._e(),(_vm.hasOffers)?_c('div',{staticClass:\"py-2 border-2 border-bottom border-background\"},[_c('ContainerDateRow',{attrs:{\"procurement-name\":_vm.procurement.name,\"text\":\"pages.procurement.importantDates.offers\",\"from-date\":_vm.procurement.offersFrom,\"to-date\":_vm.procurement.offersTo,\"address\":_vm.procurement.offersAddress,\"note\":_vm.procurement.offersNote,\"link\":_vm.procurement.offersLink}})],1):_vm._e(),(_vm.hasMaterial)?_c('div',{staticClass:\"py-2 border-2 border-bottom border-background\"},[_c('ContainerDateRow',{attrs:{\"procurement-name\":_vm.procurement.name,\"text\":\"pages.procurement.importantDates.materials\",\"from-date\":_vm.procurement.materialFrom,\"to-date\":_vm.procurement.materialTo,\"address\":_vm.procurement.materialAddress,\"link\":_vm.procurement.materialLink}})],1):_vm._e(),(_vm.hasInquiries)?_c('div',{staticClass:\"py-2 border-2 border-bottom border-background\"},[_c('ContainerDateRow',{attrs:{\"procurement-name\":_vm.procurement.name,\"text\":\"pages.procurement.importantDates.inquiries\",\"from-date\":_vm.procurement.inquiryFrom,\"to-date\":_vm.procurement.inquiryTo,\"address\":_vm.procurement.inquiryAddress,\"link\":_vm.procurement.inquiryLink}})],1):_vm._e(),(_vm.hasNoDates)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.importantDates.noDates'))+\" \")]):_vm._e()])],1)])]),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"WINNER_ROLE\",\"header-bg-color\":_vm.getHashColor('WINNER_ROLE')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.winners.title'))+\" \")]},proxy:true}],null,false,1407235732)},[(_vm.winners && _vm.winners.length > 0)?_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12\"},[_c('table',{staticClass:\"table align-middle\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.winners.companyField'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.winners.roleField'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.winners.dateField'))+\" \")])])]),_c('tbody',_vm._l((_vm.computedWinners),function(winner){return _c('tr',{key:winner.id,class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('td',[_vm._v(\" \"+_vm._s(winner.companyName)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.companyRoleString(winner))+\" \")]),_c('td',[_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.formatDate(winner.added))+\" \")]),_c('BaseButtonIcon',{attrs:{\"size\":\"sm\",\"icon-size\":\"sm\",\"icon-name\":\"ellipsis-v\",\"bs-toggle\":_vm.isAboveBasicProduct ? 'dropdown' : '',\"bs-auto-close\":\"outside\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',{staticClass:\"dropdown-item clickable\",attrs:{\"data-bs-dismiss\":\"dropdown\"},on:{\"click\":function($event){return _vm.selectRole(winner)}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.tooltip'))+\" \")]),(winner.companyId)?_c('li',{staticClass:\"dropdown-item clickable\",on:{\"click\":function($event){return _vm.routeToCompanyView(winner)}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.link'))+\" \")]):_vm._e()])]},proxy:true}],null,true)})],1)])])}),0)])]),(_vm.winners.length > 5)?_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-end\"},[_c('div',{staticClass:\"roboto-sm fw-bold blue text-decoration-underline clickable\",on:{\"click\":function($event){return _vm.toggleWinners()}}},[_vm._v(\" \"+_vm._s(_vm.winnersCollapsed ? _vm.$t('general.seeMore') : _vm.$t('general.seeLess'))+\" \")])])]):_vm._e()]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.winners.noWinners'))+\" \")])])],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"DESCRIPTION\",\"header-bg-color\":_vm.getHashColor('DESCRIPTION')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.description'))+\" \")]},proxy:true}],null,false,2551906310)},[_c('div',{staticClass:\"row gy-2\"},[_c('div',{ref:\"description\",staticClass:\"col-12 description-text\",class:{ 'limited-height': _vm.windowSize < 768 && _vm.descriptionCollapsed },domProps:{\"innerHTML\":_vm._s(_vm.procurement.description)}}),(_vm.showDescriptionFoldingButton)?_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-end\"},[_c('div',{staticClass:\"roboto-sm fw-bold blue text-decoration-underline clickable\",on:{\"click\":function($event){return _vm.toggleDescription()}}},[_vm._v(\" \"+_vm._s(_vm.descriptionCollapsed ? _vm.$t('general.seeMore') : _vm.$t('general.seeLess'))+\" \")])])]):_vm._e()])])],1),(_vm.procurement.procurementUpdates && _vm.filteredAnnouncements.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"PROCUREMENT_UPDATE\",\"header-bg-color\":_vm.getHashColor('PROCUREMENT_UPDATE')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('pages.procurement.announcements.title', 2))+\" \")]},proxy:true}],null,false,3625983233)},[_c('table',{staticClass:\"table\",class:{ 'table-hover': _vm.isAboveBasicProduct }},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$tc('general.date', 1))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.type'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.description'))+\" \")])])]),_c('tbody',_vm._l((_vm.filteredAnnouncements),function(announcement){return _c('tr',{key:announcement.id,staticClass:\"clickable\",class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''},on:{\"click\":function($event){return _vm.selectAnnouncement(announcement)}}},[_c('td',[_vm._v(\" \"+_vm._s(_vm.formatDate(announcement.date))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(announcement.type)+\" \")]),_c('td',{domProps:{\"innerHTML\":_vm._s(_vm.formatAnnouncementChanges(announcement.changes))}})])}),0)])])],1):_vm._e()])]),_c('div',{staticClass:\"col-12 col-lg-3\"},[_c('div',{staticClass:\"row g-4\"},[(_vm.windowSize >= 992)?_c('div',{staticClass:\"col-12\"},[_c('IconBar',{attrs:{\"id\":(\"procurement-icon-bar-\" + (_vm.procurement.id)),\"size\":\"lg\",\"variant\":_vm.$vmx.user.hasProduct ? 'primary' : 'secondary',\"data-object\":_vm.procurement,\"fixed-height\":true}})],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"padding-x\":3,\"header-padding-x\":4},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('general.latestUpdate', 2))+\" \")]},proxy:true}],null,false,370033425)},[_c('UpdateList',{attrs:{\"scroll-size\":\"60vh\",\"updates\":_vm.updates,\"blurred\":!_vm.isAboveBasicProduct,\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar update = ref.update;\nreturn [_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){_vm.isAboveBasicProduct ? _vm.setHash(update.scrollId) : null}}},[_vm._v(\" \"+_vm._s(update.text)+\" \")])]}}],null,false,676328608)})],1)],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('general.note', 2))+\" \")]},proxy:true}],null,false,3750799979)},[_c('NoteList',{attrs:{\"id\":_vm.noteId,\"notes\":_vm.procurement.notes,\"limit\":2},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1)],1),(_vm.companyRoles && _vm.companyRoles.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"COMPANY_ROLES\",\"header-bg-color\":_vm.getHashColor('COMPANY_ROLES')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.contractingAuthority'))+\" \")]},proxy:true}],null,false,1584198179)},[_c('table',{staticClass:\"table\"},[_c('tbody',_vm._l((_vm.companyRoles),function(companyRole){return _c('tr',{key:companyRole.id},[_c('td',{staticClass:\"pt-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto\",class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.companyRoleString(companyRole))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(companyRole.companyName)+\" \")])]),_c('div',{staticClass:\"col\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('BaseButtonIcon',{attrs:{\"size\":\"sm\",\"icon-size\":\"sm\",\"icon-name\":\"ellipsis-v\",\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"outside\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',{staticClass:\"dropdown-item clickable\",attrs:{\"data-bs-dismiss\":\"dropdown\"},on:{\"click\":function($event){return _vm.selectRole(companyRole)}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.tooltip'))+\" \")]),(companyRole.companyId)?_c('li',{staticClass:\"dropdown-item clickable\",on:{\"click\":function($event){return _vm.routeToCompanyView(companyRole)}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.link'))+\" \")]):_vm._e()])]},proxy:true}],null,true)})],1)])])])])}),0)])])],1):_vm._e(),(_vm.procurement.liable || _vm.procurement.euNr)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"SUPPLIER\",\"header-bg-color\":_vm.getHashColor('SUPPLIER')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.providerInfo.title'))+\" \")]},proxy:true}],null,false,4107835105)},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.providerInfo.provider'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.procurement.liable ? _vm.procurement.liable : _vm.$t('general.emptyField'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.providerInfo.euNr'))+\" \")]),_c('div',{class:{ blurred: !_vm.isAboveBasicProduct },attrs:{\"data-bs-toggle\":!_vm.isAboveBasicProduct ? 'modal' : '',\"data-bs-target\":!_vm.isAboveBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.procurement.euNr ? _vm.procurement.euNr : _vm.$t('general.emptyField'))+\" \")])])])])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"PUBLISHED\",\"header-bg-color\":_vm.getHashColor('PUBLISHED')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.announced'))+\" \")]},proxy:true}],null,false,4045509079)},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.lastUpdated'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.procurement.lastUpdateDate))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.published'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.procurement.published))+\" \")])])])])],1),_c('div',{staticClass:\"col-12\",attrs:{\"procurement.project\":\"\"}},[_c('BaseContainer',{staticClass:\"mb-2\",attrs:{\"id\":\"PROJECT\",\"header-bg-color\":_vm.getHashColor('PROJECT'),\"show-body\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.relatedProject'))+\" \")]},proxy:true}],null,false,1496134170)}),_c('ProjectReferenceCard',{attrs:{\"project\":_vm.procurement.project}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"PHASE\",\"header-bg-color\":_vm.getHashColor('PHASE')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.phase'))+\" \")]},proxy:true}],null,false,2739174996)},[_c('PhaseTimeline',{attrs:{\"phase-records\":_vm.procurement.procurementPhaseRecords,\"current-phase\":_vm.procurement.procurementPhase}})],1)],1)])])]),_c('ModalAnnouncementInfo',{attrs:{\"modal-id\":_vm.announcementModalId,\"announcement\":_vm.selectedAnnouncement}}),_c('ModalRoleInfo',{attrs:{\"modal-id\":_vm.roleModalId,\"object-id\":_vm.procurement.id,\"object-name\":_vm.procurement.name,\"company-role\":_vm.selectedCompanyRole,\"is-procurement\":true,\"tip-sent\":_vm.tipSent},on:{\"tipSent\":_vm.addSentTip}}),_c('ModalNoteEdit',{attrs:{\"modal-id\":(\"edit-\" + _vm.noteId),\"initial-note\":_vm.selectedNote,\"procurement-id\":_vm.procurement.id},on:{\"noteSaved\":_vm.noteSaved,\"openDeleteModal\":_vm.openDeleteNoteModal}}),_c('ModalNoteDelete',{attrs:{\"modal-id\":(\"delete-\" + _vm.noteId),\"note\":_vm.selectedNote},on:{\"noteDeleted\":_vm.noteDeleted}})],1):_c('div',[(_vm.errorCode == 401)?_c('Error401'):(_vm.errorCode == 404)?_c('Error404',[_c('div',[_vm._v(_vm._s(_vm.$t('pages.procurement.error404')))])]):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-content-between\"},[_c('div',{ref:\"daterowdata\"},[_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.text))+\" \")]),(_vm.fromDate || _vm.toDate)?_c('div',{staticClass:\"col-12\"},[_c('table',{staticClass:\"table-borderless\"},[(_vm.fromDate)?_c('tr',[_c('td',{staticClass:\"pe-3 text-capitalize\",attrs:{\"scope\":\"row\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.from'))+\": \")]),_c('td',{class:{ blurred: _vm.isBasicProduct },attrs:{\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.fromDate))+\" \")])]):_vm._e(),(_vm.toDate)?_c('tr',[_c('td',{staticClass:\"pe-3 text-capitalize\",attrs:{\"scope\":\"row\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.to'))+\": \")]),_c('td',{class:{ blurred: _vm.isBasicProduct },attrs:{\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.toDate))+\" \")])]):_vm._e()])]):_vm._e(),(_vm.address)?_c('div',{staticClass:\"col-12\",class:{ blurred: _vm.isBasicProduct },attrs:{\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.address)+\" \")]):_vm._e(),(_vm.address)?_c('div',{staticClass:\"col-12\",class:{ blurred: _vm.isBasicProduct },attrs:{\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.note)+\" \")]):_vm._e(),(_vm.link)?_c('div',{staticClass:\"col-12\"},[_c('div',[_vm._v(_vm._s(_vm.$t('general.link'))+\":\")]),_c('div',[_c('a',{staticClass:\"text-break\",class:{ blurred: _vm.isBasicProduct },attrs:{\"href\":_vm.isBasicProduct ? '#' : _vm.link,\"target\":_vm.isBasicProduct ? '_self' : '_blank',\"data-bs-toggle\":_vm.isBasicProduct ? 'modal' : '',\"data-bs-target\":_vm.isBasicProduct ? (\"#\" + _vm.paywallModalId) : ''}},[_vm._v(\" \"+_vm._s(_vm.computedLink)+\" \")])])]):_vm._e()])]),(_vm.fromDate || _vm.toDate)?_c('div',{staticClass:\"align-self-top\"},[_c('div',{staticClass:\"dropdown\"},[_c('BaseButtonIcon',{attrs:{\"variant\":\"white\",\"size\":\"sm\",\"icon-size\":\"sm\",\"icon-name\":\"calendar-plus\",\"bs-toggle\":\"dropdown\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('DropdownMailExport',{attrs:{\"download-name\":_vm.downloadName,\"mail-header\":_vm.mailHeader,\"mail-body\":_vm.mailBody(),\"from-date\":_vm.fromDate,\"to-date\":_vm.toDate}})]},proxy:true}],null,false,1204883173)})],1)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport DropdownMailExport from '@/components/dropdowns/dropdown-mail-export.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport moment from 'moment';\r\n\r\n@Component({\r\n components: {\r\n DropdownMailExport,\r\n },\r\n})\r\nexport default class ContainerDateRow extends Vue {\r\n @Prop() procurementName: string;\r\n @Prop() text: string;\r\n @Prop() fromDate: string;\r\n @Prop() toDate: string;\r\n @Prop() address: string;\r\n @Prop() note: string;\r\n @Prop() link: string;\r\n @Ref() daterowdata: HTMLSlotElement;\r\n\r\n get downloadName(): string {\r\n return `${this.procurementName.replaceAll(' ', '_')}.ics`\r\n }\r\n\r\n get textPrefix(): string {\r\n return this.fromDate && this.toDate ? '' : this.fromDate ? 'Start: ' : 'Slut: ';\r\n }\r\n\r\n get from(): moment.Moment {\r\n return (this.fromDate && moment(this.fromDate) || moment(this.toDate)).locale('da');\r\n }\r\n\r\n get to(): moment.Moment {\r\n return (this.toDate && moment(this.toDate) || moment(this.fromDate)).locale('da');\r\n }\r\n\r\n get computedLink(): string {\r\n return this.isBasicProduct ? 'https://fakelink.dk/thisisnotareallink?isthisreal=no' : this.link;\r\n }\r\n\r\n get isBasicProduct(): boolean {\r\n return !this.$vmx.user.hasProduct;\r\n }\r\n\r\n get paywallModalId() {\r\n return globalFunctions.getPaywallModalId();\r\n }\r\n\r\n get mailHeader(): string {\r\n return `${this.procurementName} (${this.textPrefix}${this.$t(this.text)})`\r\n }\r\n\r\n formatDate(date: string) {\r\n return date;\r\n }\r\n\r\n mailBody(): string {\r\n return this.daterowdata ? this.daterowdata.innerText : '';\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./container-date-row.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./container-date-row.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./container-date-row.vue?vue&type=template&id=67c23003&\"\nimport script from \"./container-date-row.vue?vue&type=script&lang=ts&\"\nexport * from \"./container-date-row.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-role-info\",attrs:{\"modal-id\":_vm.modalId,\"size\":\"xl\",\"scrollable\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('pages.procurement.announcements.title', 1))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-3 col-xl-2 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$tc('general.date', 1))+\" \")]),_c('div',{staticClass:\"col-9 col-xl-10\"},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.announcement.date))+\" \")]),_c('div',{staticClass:\"col-3 col-xl-2 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.type'))+\" \")]),_c('div',{staticClass:\"col-9 col-xl-10\"},[_vm._v(\" \"+_vm._s(_vm.announcement.type)+\" \")]),_c('div',{staticClass:\"col-12 col-xl-2 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.description'))+\" \")]),_c('div',{staticClass:\"col-12 col-xl-10\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formatAnnouncementChanges(_vm.announcement.changes))}})])])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12 bg-trademark-25 py-2\"},[_c('div',{staticClass:\"roboto-16 fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.procurement.announcements.text'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.announcement.description)}})])])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.ok'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { ProcurementUpdate } from '@/interfaces/procurement-update';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalAnnouncementInfo extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ required: true }) announcement: ProcurementUpdate;\r\n loading = true;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = false;\r\n // Do stuff\r\n }\r\n\r\n public formatAnnouncementChanges(changes: string) {\r\n if (!changes || changes.trim().length === 0) {\r\n return `(${this.$t('pages.procurement.announcements.noChangeText')})`;\r\n } else {\r\n return this.formatTextToHtml(changes);\r\n }\r\n }\r\n\r\n public formatTextToHtml(text: string) {\r\n return formatUtils.formatTextToHtml(text);\r\n }\r\n\r\n public formatDate(date: string): string {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-announcement-info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-announcement-info.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-announcement-info.vue?vue&type=template&id=5e874bd1&scoped=true&\"\nimport script from \"./modal-announcement-info.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-announcement-info.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e874bd1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AbstractModal',{attrs:{\"modal-id\":_vm.modalId,\"background-color\":_vm.backgroundColor,\"size\":_vm.size}},[_c('div',{staticClass:\"base-paywall bg-trademark text-white\"},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12 text-center\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.header'))+\" \")]),_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.subtitle'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.text'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('a',{staticClass:\"btn btn-cta\",attrs:{\"href\":_vm.$t('wordpresssite.prices'),\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.seeProducts'))+\" \")])])]),_c('FormBookDemo',{attrs:{\"title\":_vm.$t('components.paywall.bookdemo'),\"mode\":\"customer\"}}),_c('div',{staticClass:\"col-12 text-center\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.moreLicences'))+\" - \"),_c('a',{attrs:{\"href\":_vm.$t('wordpresssite.support'),\"target\":\"_blank\"}},[_c('i',[_vm._v(\" \"+_vm._s(_vm.$t('components.paywall.contactHere'))+\" \")])])])])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal\",class:{ fade: _vm.fade },attrs:{\"id\":_vm.modalId,\"tab-index\":\"-1\",\"aria-labelledby\":(_vm.modalId + \"Label\"),\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\",class:_vm.modalDialogClasses},[_c('div',{staticClass:\"modal-content bg-transparent\"},[_c('div',{staticClass:\"modal-body\",class:[(\"bg-\" + _vm.backgroundColor)]},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"times\",\"bs-dismiss\":\"modal\",\"variant\":_vm.backgroundColor ? _vm.backgroundColor : 'primary'}})],1),_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")]})],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AbstractModal extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ default: 'trademark' }) backgroundColor: string;\r\n @Prop({ default: true}) centered: boolean;\r\n @Prop({ default: true }) fade: boolean;\r\n @Prop({ default: 'lg'}) size: string;\r\n @Prop() styleClasses: string;\r\n @Prop({ default: false }) backdropped: boolean;\r\n @Prop({ default: false }) scrollable: boolean;\r\n\r\n get modalDialogClasses() {\r\n return [\r\n this.size != 'md' ? `modal-${this.size}` : '',\r\n this.centered ? 'modal-dialog-centered' : '',\r\n this.scrollable ? 'modal-dialog-scrollable' : '',\r\n ];\r\n }\r\n\r\n get modalClasses() {\r\n return [\r\n this.fade ? 'fade' : '',\r\n this.styleClasses,\r\n ];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./abstract-modal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./abstract-modal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./abstract-modal.vue?vue&type=template&id=49347a78&scoped=true&\"\nimport script from \"./abstract-modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./abstract-modal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"49347a78\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport AbstractModal from '@/components/modals/abstract-modal.vue';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\r\n// import BasePaywall from '@/components/general-components/base-paywall.vue';\r\n\r\n@Component({\r\n components: {\r\n AbstractModal,\r\n FormBookDemo,\r\n },\r\n})\r\nexport default class ModalPaywall extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ default: 'trademark' }) backgroundColor: string;\r\n @Prop({ default: 'white' }) textColor: string;\r\n @Prop() fade: string;\r\n @Prop({ default: 'xl' }) size: string;\r\n}\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-paywall.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-paywall.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-paywall.vue?vue&type=template&id=6eed8ca0&\"\nimport script from \"./modal-paywall.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-paywall.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./modal-paywall.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-role-info\",attrs:{\"modal-id\":_vm.modalId,\"size\":\"lg\",\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.companyRole ? _vm.companyRole.companyName : '')+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.companyRole)?_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.role'))+\" \")]),_c('div',[_vm._v(_vm._s(_vm.roleName))])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.added'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.companyRole.added, 'DD.MM.yyyy'))+\" \")])]),(_vm.companyRole.noContactResponse)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.companyRole.noContactResponse.text)+\" \")])],1):(_vm.companyRole.contactPerson)?_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.contact'))+\" \")]),_c('div',[_c('div',{staticClass:\"lato-sm fw-normal\"},[_vm._v(\" \"+_vm._s(_vm.companyRole.contactPerson.name)+\" \")]),(_vm.companyRole.contactPerson.position)?_c('div',{staticClass:\"lato-sm fw-normal\"},[_vm._v(\" \"+_vm._s(_vm.companyRole.contactPerson.position)+\" \")]):_vm._e(),_c('div',{staticClass:\"lato-sm fw-normal\"},[_vm._v(\" \"+_vm._s(_vm.companyRole.contactPerson.mail)+\" \")]),_c('div',{staticClass:\"lato-sm fw-normal\"},[_vm._v(\" \"+_vm._s(_vm.companyRole.contactPerson.phone)+\" \")])])]):(_vm.tipSent)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.tipSent'))+\" \")])],1):(_vm.tipAlreadySent)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.tipAlreadySent'))+\" \")])],1):_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"on-click-cb\":_vm.sendTip}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.requestContact'))+\" \")])],1),(_vm.companyRole.note)?_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$tc('general.note', 1))+\" \")]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.getNoteFormatted(_vm.companyRole.note))}})]):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.ok'))+\" \")])],1)])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { Tip } from '@/interfaces/tip';\r\n\r\nconst api = '/tips';\r\n\r\nexport class TipService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getTipById = async (id: number): Promise => {\r\n const response = await this.get(api + '/' + id);\r\n return this.getResponse(response);\r\n };\r\n\r\n public postTip = async (tip: Tip): Promise => {\r\n const response = await this.post(api, tip);\r\n return this.getResponse(response);\r\n };\r\n\r\n public companyRoleHasTip = async (companyRoleId: number): Promise => {\r\n const response = await this.get(api + '/hasCompanyAndUser/' + companyRoleId);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const tipService = new TipService(apiConfig);\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { CompanyRole } from '@/interfaces/company-role';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { Modal } from 'bootstrap';\r\nimport { tipService } from '@/services/restapi/tip-service';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalRoleInfo extends Vue {\r\n @Prop({ required: true }) modalId: string;\r\n @Prop({ required: true }) objectId: number;\r\n @Prop({ required: true }) objectName: string;\r\n @Prop({ required: true }) companyRole: CompanyRole;\r\n @Prop({ required: true }) isProcurement: boolean;\r\n @Prop() tipSent = false;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n tipAlreadySent = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n initializeModal() {\r\n if (this.companyRole) {\r\n this.loading = true;\r\n tipService.companyRoleHasTip(this.companyRole.id).then((alreadySent) => {\r\n this.tipAlreadySent = alreadySent;\r\n }).finally(() => this.loading = false);\r\n }\r\n }\r\n\r\n get roleName(): string {\r\n const unspecified = this.$t('general.unspecified') as string;\r\n if (this.companyRole.role && this.companyRole.role.name && this.companyRole.role.name != unspecified) {\r\n return this.companyRole.role.name;\r\n } else if (this.companyRole.roleString) {\r\n return this.companyRole.roleString;\r\n } else {\r\n return unspecified;\r\n }\r\n }\r\n\r\n public formatDate(date: string, format: string): string {\r\n return formatUtils.formatDate(date, format);\r\n }\r\n\r\n getNoteFormatted(note: string) {\r\n return formatUtils.formatTextToHtml(note);\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n async sendTip() {\r\n this.submitting = true;\r\n const user = this.$vmx.user.user;\r\n const objTrans = this.$tc(this.isProcurement ? 'general.resultTypes.procurement' : 'general.resultTypes.project', 1) as string;\r\n const tip = {\r\n projectId: this.isProcurement ? null : this.objectId,\r\n procurementId: this.isProcurement ? this.objectId : null,\r\n paUserId: user.id,\r\n companyRoleId: this.companyRole.id,\r\n name: user.name,\r\n email: user.email,\r\n phone: user.phone,\r\n description: this.$t(\r\n 'components.modals.role.tipDescription',\r\n [user.name, objTrans, this.objectName, this.objectId, this.companyRole.companyName, this.roleName],\r\n ) as string,\r\n };\r\n try {\r\n await tipService.postTip(tip);\r\n this.$emit('tipSent', this.companyRole.id);\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-role-info.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-role-info.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-role-info.vue?vue&type=template&id=21b840f8&scoped=true&\"\nimport script from \"./modal-role-info.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-role-info.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21b840f8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"phase-timeline\"},[_c('div',{staticClass:\"d-flex flex-column justify-content-between\"},_vm._l((_vm.phaseRecords),function(record,index){return _c('div',{key:record.id,staticClass:\"d-flex flex-column\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-left z1\"},[_c('div',{staticClass:\"left-container d-flex flex-row justify-content-center align-items-center\"},[_c('div',{staticClass:\"align-self-center d-flex flex-row justify-content-center align-items-center\",class:_vm.getCircleClasses(record)},[_c('FontAwesomeIcon',{class:_vm.getSvgClasses(record),attrs:{\"icon\":[_vm.getPhase(record).iconType, _vm.getPhase(record).icon]}})],1)]),_c('div',{staticClass:\"right-container d-flex flex-column justify-content-center ps-2\",class:_vm.getFontClasses(record)},[_c('div',{staticClass:\"fw-bold text-break\"},[_vm._v(\" \"+_vm._s(_vm.getPhase(record).name)+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(record.date ? _vm.formatDate(record.date) : '--')+\" \")])])]),_c('div',{staticClass:\"z0\"},[(_vm.isNotLast(index))?_c('div',{staticClass:\"left-container\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center\"},[_c('div',{class:_vm.getLineClasses(record)})])]):_vm._e()])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\r\nimport moment from 'moment';\r\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\r\nimport { ProcurementPhaseRecord } from '@/interfaces/procurement-phase-record';\r\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\r\nimport { ProjectPhaseRecord } from '@/interfaces/project-phase-record';\r\n\r\n@Component({\r\n components: {\r\n ModalPaywall,\r\n },\r\n})\r\nexport default class PhaseTimeline extends Vue {\r\n @Prop() private phaseRecords: ProcurementPhaseRecord[] | ProjectPhaseRecord[];\r\n @Prop() private currentPhase: ProcurementPhase | ProjectPhase;\r\n\r\n windowSize = window.innerWidth;\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n }\r\n\r\n get isAboveBasicProduct(): boolean {\r\n return this.$vmx.user.hasProduct;\r\n }\r\n\r\n public getPhase (record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n if ((record as ProcurementPhaseRecord).procurementPhase !== undefined) {\r\n return (record as ProcurementPhaseRecord).procurementPhase;\r\n } else {\r\n return (record as ProjectPhaseRecord).projectPhase;\r\n }\r\n }\r\n\r\n public isCurrentPhase(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n\r\n if (((record as ProcurementPhaseRecord).procurementPhase != undefined\r\n && (record as ProcurementPhaseRecord).procurementPhase.id === this.currentPhase.id)\r\n || ((record as ProjectPhaseRecord).projectPhase != undefined\r\n && (record as ProjectPhaseRecord).projectPhase.id === this.currentPhase.id)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public isBeforeCurrent(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n if (((record as ProcurementPhaseRecord).procurementPhase != undefined\r\n && (record as ProcurementPhaseRecord).procurementPhase.index < this.currentPhase.index)\r\n || ((record as ProjectPhaseRecord).projectPhase != undefined\r\n && (record as ProjectPhaseRecord).projectPhase.index < this.currentPhase.index)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public isNotLast(index: number) {\r\n return index < this.phaseRecords.length - 1;\r\n }\r\n\r\n public formatDate(date: Date) {\r\n if (date) {\r\n return moment(date).format('DD.MM.YYYY');\r\n }\r\n return 'N/A';\r\n }\r\n\r\n public resizeHandler() {\r\n this.windowSize = window.innerWidth;\r\n }\r\n\r\n public getCircleClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n const currentPhase = this.isCurrentPhase(record);\r\n const beforeCurrent = this.isBeforeCurrent(record);\r\n return {\r\n 'circle-filled': beforeCurrent,\r\n 'circle-bordered': currentPhase,\r\n 'circle-dashed': !currentPhase && !beforeCurrent,\r\n };\r\n }\r\n\r\n public getLineClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n const beforeCurrent = this.isBeforeCurrent(record);\r\n return {\r\n 'line': beforeCurrent,\r\n 'line-dashed': !beforeCurrent,\r\n };\r\n }\r\n\r\n public getFontClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n const currentPhase = this.isCurrentPhase(record);\r\n const beforeCurrent = this.isBeforeCurrent(record);\r\n return {\r\n 'lato-sm': !currentPhase,\r\n 'lato': currentPhase,\r\n 'text-trademark': currentPhase || beforeCurrent,\r\n 'text-trademark-50': !currentPhase && !beforeCurrent,\r\n };\r\n }\r\n\r\n public getSvgClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n const beforeCurrent = this.isBeforeCurrent(record);\r\n const isCurrent = this.isCurrentPhase(record);\r\n return {\r\n 'text-trademark': isCurrent,\r\n 'text-white': beforeCurrent,\r\n 'text-trademark-50': !beforeCurrent && !isCurrent,\r\n 'big-icon': isCurrent,\r\n 'normal-icon': !isCurrent,\r\n };\r\n }\r\n\r\n // public getSize(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\r\n // return this.isCurrentPhase(record) && this.isAboveBasicProduct ? '2x' : '1x';\r\n // }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./phase-timeline.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./phase-timeline.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./phase-timeline.vue?vue&type=template&id=50fd8dc6&scoped=true&\"\nimport script from \"./phase-timeline.vue?vue&type=script&lang=ts&\"\nexport * from \"./phase-timeline.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./phase-timeline.vue?vue&type=style&index=0&id=50fd8dc6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50fd8dc6\",\n null\n \n)\n\nexport default component.exports","import * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport { AnnouncementTypes } from '@/util/enums/announcement-types';\r\nimport { CompanyRole } from '@/interfaces/company-role';\r\nimport ContainerDateRow from '@/components/containers/container-date-row.vue';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\nimport Error401 from '@/components/error-components/error-401.vue';\r\nimport Error404 from '@/components/error-components/error-404.vue';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport IconBar from '@/components/containers/icon-bar.vue';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalAnnouncementInfo from '@/components/modals/modal-announcement-info.vue';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\r\nimport ModalRoleInfo from '@/components/modals/modal-role-info.vue';\r\nimport { Note } from '@/interfaces/note';\r\nimport NoteList from '@/components/general-components/note-list.vue';\r\nimport PhaseTimeline from '@/components/phase-timeline.vue';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { procurementService } from '@/services/restapi/procurement-service';\r\nimport { ProcurementUpdate } from '@/interfaces/procurement-update';\r\nimport { Project } from '@/interfaces/project';\r\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\r\nimport { projectService } from '@/services/restapi/project-service';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { Update } from '@/interfaces/update';\r\nimport UpdateList from '@/components/general-components/update-list.vue';\r\nimport { updateService } from '@/services/restapi/update-service';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n ContainerDateRow,\r\n Error401,\r\n Error404,\r\n IconBar,\r\n ModalAnnouncementInfo,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n ModalRoleInfo,\r\n ModalPaywall,\r\n NoteList,\r\n PhaseTimeline,\r\n ProjectReferenceCard,\r\n UpdateList,\r\n },\r\n})\r\nexport default class ProcurementView extends Vue {\r\n @Prop() private id: number;\r\n @Prop({ default: false }) printOnLoad: boolean;\r\n @Ref() summary: HTMLElement;\r\n @Ref() description: HTMLElement;\r\n\r\n loading = true;\r\n errorCode: number = null;\r\n procurement: Procurement = null;\r\n project: Project = null;\r\n getFromFile = this.$vmx.file.fromFile;\r\n windowSize = window.innerWidth;\r\n sentTips: boolean[] = [];\r\n tipHasBeenSent: boolean = null;\r\n showSummaryFoldingButton = false;\r\n showDescriptionFoldingButton = false;\r\n summaryCollapsed = false;\r\n descriptionCollapsed = false;\r\n winnersCollapsed = true;\r\n selectedCompanyRole: CompanyRole = null;\r\n selectedAnnouncement: ProcurementUpdate = null;\r\n selectedNote: Note = null;\r\n updates: Update[] = null;\r\n\r\n currentHash: string = null;\r\n\r\n\r\n mounted() {\r\n updateService.getUpdatesByProcurementId(this.id).then(updates => this.updates = updates)\r\n\r\n window.scrollTo(0, 0);\r\n window.addEventListener('resize', this.resizeHandler);\r\n procurementService.getProcurementById(this.id).then(\r\n (proc) => {\r\n if ((proc as Procurement).id !== undefined) {\r\n this.procurement = proc as Procurement;\r\n if (this.procurement.summary) {\r\n this.formatSummary();\r\n }\r\n if (this.procurement && this.procurement.project && this.procurement.project.id !== 0) {\r\n projectService\r\n .getProjectById(this.procurement.project.id)\r\n .then((proj) => {\r\n this.project = proj;\r\n this.initSetup();\r\n })\r\n .catch(() => {\r\n this.procurement.project = null;\r\n this.initSetup();\r\n });\r\n } else {\r\n this.initSetup();\r\n }\r\n }\r\n },\r\n (error) => {\r\n this.errorCode = error;\r\n if (error == 404) {\r\n this.$router.push({ name: RouterNames.ERROR_NOT_FOUND });\r\n } else if (error == 401) {\r\n this.renderContent();\r\n }\r\n },\r\n );\r\n }\r\n\r\n private initSetup() {\r\n if (\r\n this.procurement &&\r\n this.procurement.procurementUpdates &&\r\n this.procurement.procurementUpdates.length > 0\r\n ) {\r\n this.procurement.procurementUpdates.sort((a, b) => (a.date < b.date ? 1 : -1));\r\n document.title = this.procurement.name;\r\n }\r\n this.loading = false;\r\n this.renderContent();\r\n }\r\n\r\n private renderContent() {\r\n this.$nextTick(() => {\r\n if (this.printOnLoad) {\r\n // We wait 0.5 sec for the page to render and then open print\r\n globalFunctions.timeout(500).then(() => window.print());\r\n }\r\n globalFunctions.timeout(50).then(() => {\r\n // Wait a very short while, for the summary div to be loaded correctly\r\n if (this.windowSize < 768) {\r\n this.summaryCollapsed = true;\r\n this.descriptionCollapsed = true;\r\n this.winnersCollapsed = true;\r\n }\r\n this.$nextTick(() => {\r\n this.showSummaryFoldingButton =\r\n this.summary?.offsetHeight < this.summary?.scrollHeight && this.windowSize < 768;\r\n this.showDescriptionFoldingButton =\r\n this.description?.offsetHeight < this.description?.scrollHeight &&\r\n this.windowSize < 768;\r\n });\r\n });\r\n this.setHash();\r\n });\r\n }\r\n\r\n get blacklistModalId() {\r\n return `modal-blacklist-${this.commonId}`;\r\n }\r\n\r\n get listModalId() {\r\n return `modal-list-${this.commonId}`;\r\n }\r\n\r\n get noteId() {\r\n return 'note-list';\r\n }\r\n\r\n get commonId() {\r\n return `proc-${this.procurement.id}`;\r\n }\r\n\r\n get firstListWithObject(): List {\r\n if (this.isOnList) {\r\n return this.$vmx.list.listsWithObject(this.procurement)[0];\r\n }\r\n return null;\r\n }\r\n\r\n get isOnList(): boolean {\r\n return this.$vmx.list.isInList(this.procurement);\r\n }\r\n\r\n get winners(): CompanyRole[] {\r\n return this.filteredCompanyRoles(true);\r\n }\r\n\r\n get computedWinners(): CompanyRole[] {\r\n const winners = this.winners;\r\n if (winners.length > 5 && this.winnersCollapsed) {\r\n return winners.splice(0, 5);\r\n }\r\n return winners;\r\n }\r\n\r\n get companyRoles(): CompanyRole[] {\r\n return this.filteredCompanyRoles(false);\r\n }\r\n\r\n get filteredAnnouncements(): ProcurementUpdate[] {\r\n return this.procurement.procurementUpdates.filter(\r\n (x) => x.type != AnnouncementTypes.RESULT && x.type != AnnouncementTypes.CANCELLATION,\r\n );\r\n }\r\n\r\n get procurementType(): string {\r\n return this.procurement.procurementType?.name ?? (this.$t('general.emptyField') as string);\r\n }\r\n\r\n get budgetString(): string {\r\n if (this.procurement && this.procurement.budget) {\r\n return this.$n(this.procurement.budget, 'currency', domainUtils.domain.numberFormat);\r\n }\r\n return this.$t('general.emptyField') as string;\r\n }\r\n\r\n get roleModalId() {\r\n return 'modal-role-info';\r\n }\r\n\r\n get paywallModalId() {\r\n return globalFunctions.getPaywallModalId();\r\n }\r\n\r\n get announcementModalId() {\r\n return 'modal-announcement-info';\r\n }\r\n\r\n get tipSent(): boolean {\r\n if (this.selectedCompanyRole) {\r\n return this.sentTips[this.selectedCompanyRole.id];\r\n }\r\n return false;\r\n }\r\n\r\n get projectStart(): string {\r\n return this.project?.start ?? this.procurement.start;\r\n }\r\n\r\n get projectEnd(): string {\r\n return this.project?.end ?? this.procurement.end;\r\n }\r\n\r\n get hasMaterial(): boolean {\r\n return (\r\n !!this.procurement.materialFrom ||\r\n !!this.procurement.materialTo ||\r\n !!this.procurement.materialLink\r\n );\r\n }\r\n\r\n get hasInquiries(): boolean {\r\n return (\r\n !!this.procurement.inquiryAddress ||\r\n !!this.procurement.inquiryFrom ||\r\n !!this.procurement.inquiryTo\r\n );\r\n }\r\n\r\n get hasParticipation(): boolean {\r\n return (\r\n !!this.procurement.participationFrom ||\r\n !!this.procurement.participationTo ||\r\n !!this.procurement.participationAddress ||\r\n !!this.procurement.participationNote\r\n );\r\n }\r\n\r\n get hasOffers(): boolean {\r\n return (\r\n !!this.procurement.offersFrom ||\r\n !!this.procurement.offersTo ||\r\n !!this.procurement.offersAddress ||\r\n !!this.procurement.offersLink ||\r\n !!this.procurement.offersNote\r\n );\r\n }\r\n\r\n get isAboveBasicProduct(): boolean {\r\n return !(this.$vmx.user.user as User).product.basic;\r\n }\r\n\r\n get hasNoDates(): boolean {\r\n return (\r\n !this.hasInquiries &&\r\n !this.hasMaterial &&\r\n !this.hasParticipation &&\r\n !this.hasOffers &&\r\n !this.procurement.start &&\r\n !this.procurement.end\r\n );\r\n }\r\n\r\n @Watch('$vmx.blacklist.blacklists')\r\n blacklistEdited() {\r\n this.$vmx.search.resetPage();\r\n }\r\n\r\n companyRoleString(companyRole: CompanyRole): string {\r\n const unspecified = this.$t('general.unspecified') as string;\r\n if (companyRole.role && companyRole.role.name && companyRole.role.name != unspecified) {\r\n return companyRole.role.name;\r\n } else if (companyRole.roleString) {\r\n return companyRole.roleString;\r\n } else {\r\n return unspecified;\r\n }\r\n }\r\n\r\n concatCriterionName(criteria: Criterion[], id: number): string {\r\n if (criteria && criteria.length > 0) {\r\n for (const criterion of criteria) {\r\n if (criterion.id === id) {\r\n return criterion.name;\r\n } else if (criterion.children && criterion.children.length > 0) {\r\n const childConcat = this.concatCriterionName(criterion.children, id);\r\n if (childConcat) {\r\n return childConcat.includes('>') ? childConcat : `${criterion.name} > ${childConcat}`;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getCriteriaOfTypeString(typeId: number): string {\r\n const str = this.getCriteriaOfType(typeId).map((x) => x.name).join(', ');\r\n return str;\r\n }\r\n\r\n getCriteriaOfType(typeId: number): Criterion[] {\r\n return this.procurement.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\r\n }\r\n\r\n filteredCompanyRoles(isWinner: boolean) {\r\n const roles: CompanyRole[] = [];\r\n if (this.procurement.companyRoles && this.procurement.companyRoles.length > 0) {\r\n this.procurement.companyRoles.forEach((companyRole) => {\r\n if (companyRole.isWinner == isWinner) {\r\n roles.push(companyRole);\r\n }\r\n });\r\n }\r\n return roles;\r\n }\r\n\r\n public formatDate(date: string) {\r\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\r\n }\r\n\r\n selectRole(companyRole: CompanyRole) {\r\n if (this.isAboveBasicProduct) {\r\n this.selectedCompanyRole = companyRole;\r\n this.openModal(this.roleModalId);\r\n }\r\n }\r\n\r\n selectAnnouncement(announcement: ProcurementUpdate) {\r\n if (this.isAboveBasicProduct) {\r\n this.selectedAnnouncement = announcement;\r\n this.openModal(this.announcementModalId);\r\n }\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n public resizeHandler() {\r\n this.windowSize = window.innerWidth;\r\n if (this.windowSize < 768) {\r\n this.summaryCollapsed = true;\r\n this.descriptionCollapsed = true;\r\n this.winnersCollapsed = true;\r\n }\r\n if (this.summary && this.description) {\r\n this.showSummaryFoldingButton =\r\n this.summary.offsetHeight < this.summary.scrollHeight && this.windowSize < 768;\r\n this.showDescriptionFoldingButton =\r\n this.description.offsetHeight < this.description.scrollHeight && this.windowSize < 768;\r\n }\r\n }\r\n\r\n public toggleSummary() {\r\n this.summaryCollapsed = !this.summaryCollapsed;\r\n }\r\n\r\n public toggleDescription() {\r\n this.descriptionCollapsed = !this.descriptionCollapsed;\r\n }\r\n\r\n public toggleWinners() {\r\n this.winnersCollapsed = !this.winnersCollapsed;\r\n }\r\n\r\n public formatSummary() {\r\n this.procurement.summary = formatUtils.formatTextToHtml(this.procurement.summary);\r\n }\r\n\r\n public formatAnnouncementChanges(changes: string) {\r\n if (!changes || changes.trim().length === 0) {\r\n return `(${this.$t('pages.procurement.announcements.noChangeText')})`;\r\n } else {\r\n return this.formatTextToHtml(changes);\r\n }\r\n }\r\n\r\n public formatTextToHtml(text: string) {\r\n return formatUtils.formatTextToHtml(text);\r\n }\r\n\r\n addSentTip(companyRoleId: number) {\r\n this.sentTips[companyRoleId] = true;\r\n this.sentTips = [...this.sentTips];\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n this.selectedNote = this.procurement.notes.find((note) => note.id == id);\r\n this.openModal(`delete-${this.noteId}`);\r\n }\r\n\r\n noteSaved(note: Note) {\r\n if (this.procurement.notes.some((x) => x.id === note.id)) {\r\n this.procurement.notes = this.procurement.notes.map((obj) =>\r\n obj.id === note.id ? note : obj,\r\n );\r\n } else {\r\n this.procurement.notes.push(note);\r\n this.procurement.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n noteDeleted(id: number) {\r\n this.procurement.notes.splice(\r\n this.procurement.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n\r\n routeToCompanyView(companyRole: CompanyRole) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_VIEW, params: { id: companyRole.companyId.toString() } })\r\n }\r\n\r\n setHash(type?: string) {\r\n if (type) {\r\n if (this.currentHash == type) {\r\n document.getElementById(type).scrollIntoView();\r\n return;\r\n }\r\n\r\n this.currentHash = type;\r\n this.$router.replace({ hash: `#${type}` });\r\n return;\r\n }\r\n\r\n this.currentHash = location.hash.split('#')[1] ?? null;\r\n if (this.currentHash == null) return;\r\n setTimeout(() => {\r\n document.getElementById(this.currentHash).scrollIntoView();\r\n }, 500);\r\n }\r\n\r\n getHashColor(type: string): string {\r\n return this.currentHash == type ? 'cta' : 'trademark';\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./procurement-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./procurement-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./procurement-view.vue?vue&type=template&id=65045f46&scoped=true&\"\nimport script from \"./procurement-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./procurement-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./procurement-view.scss?vue&type=style&index=0&id=65045f46&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65045f46\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"project-view\"},[(_vm.loading)?_c('div',[_c('BaseLoadingSpinner',{attrs:{\"size\":\"6rem\",\"border-size\":\".75rem\"}})],1):_c('div',{attrs:{\"id\":\"project-view\"}},[(_vm.project)?_c('div',{staticClass:\"row g-4 d-flex flex-lg-row-reverse\"},[(_vm.project.inProgress)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_c('div',{staticClass:\"d-flex flex-row justify-content-start\"},[_c('div',{staticClass:\"pe-3\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'hard-hat'],\"size\":\"2x\"}})],1),_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"align-middle\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.inPreparation'))+\" \")])])])])],1):_vm._e(),_c('div',{staticClass:\"col-12 col-lg-9\"},[_c('div',{staticClass:\"row g-4\"},[(_vm.windowSize < 992)?_c('div',{staticClass:\"col-12\"},[_c('IconBar',{attrs:{\"id\":(\"project-icon-bar-\" + (_vm.project.id)),\"variant\":_vm.$vmx.user.hasProduct ? 'primary' : 'secondary',\"data-object\":_vm.project,\"fixed-height\":true}})],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"NAME\",\"header-bg-color\":_vm.getHashColor('NAME'),\"show-body\":!!_vm.project.description},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"roboto-lg\"},[_vm._v(\" \"+_vm._s(_vm.project.name)+\" \")])]},proxy:true}],null,false,1866874740)},[(_vm.project.description)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.project.description)}}):_vm._e()])],1),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('BaseContainer',{attrs:{\"id\":\"CRITERIA\",\"header-bg-color\":_vm.getHashColor('CRITERIA'),\"full-height\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.searchCriteria'))+\" \")]},proxy:true}],null,false,1253366934)},[_c('div',{staticClass:\"row gy-4\"},_vm._l((_vm.$vmx.criterion.standardCriterionTypes),function(criterionType){return _c('div',{key:criterionType.id,staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$tc(criterionType.translationProperty, 1))+\" \")]),(_vm.getCriteriaOfType(criterionType.id).length > 0)?_c('div',_vm._l((_vm.getCriteriaOfType(criterionType.id)),function(criterion){return _c('div',{key:criterion.id},[_vm._v(\" \"+_vm._s(_vm.concatCriterionName(_vm.$vmx.criterion.criteriaOfType(criterionType.id), criterion.id))+\" \")])}),0):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('general.emptyField'))+\" \")])])}),0)])],1),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('BaseContainer',{attrs:{\"id\":\"INFORMATION\",\"header-bg-color\":_vm.getHashColor('INFORMATION'),\"full-height\":true},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.information'))+\" \")]},proxy:true}],null,false,3392202311)},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.estimatedSum'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.budgetString)+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEnd'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.projectStartEndString)+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.sizeBuilding'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.buildingArea ? _vm.project.buildingArea : 'N/A')+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.numberOfUnits'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.numberOfUnits ? _vm.project.numberOfUnits : 'N/A')+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.floors'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.floors ? _vm.project.floors : 'N/A')+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.address'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.fullAddress)+\" \")])])])])],1),(_vm.hasCouncilSummaryInfo)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"COUNCIL_SUMMARY\",\"header-bg-color\":_vm.getHashColor('COUNCIL_SUMMARY')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.councilSummaryInfo.title'))+\" \")]},proxy:true}],null,false,2306588470)},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.link'))+\" \")]),(_vm.project.summaryLink)?_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.project.summaryLink}},[_vm._v(\" \"+_vm._s(_vm.project.summaryLink)+\" \")]):_c('div',[_vm._v(\" N/A \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.councilSummaryInfo.municipalityOrRegion'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.summaryMunicipality ? _vm.project.summaryMunicipality : 'N/A')+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.councilSummaryInfo.committee'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.summaryCommittee ? _vm.project.summaryCommittee : 'N/A')+\" \")])])])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row gy-4 align-items-stretch\"},[_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.councilSummaryInfo.number'))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.summaryNumber ? _vm.project.summaryNumber : 'N/A')+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$tc('general.date', 1))+\" \")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.project.summaryDate ? _vm.project.summaryDate : 'N/A')+\" \")])])])])])])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"COMPANY_ROLE\",\"header-bg-color\":_vm.getHashColor('COMPANY_ROLE')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.roles.title'))+\" \")]},proxy:true}],null,false,4284308930)},[(_vm.companyRoles && _vm.companyRoles.length)?_c('table',{staticClass:\"table align-middle\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.roles.companyColumn'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.roles.roleColumn'))+\" \")]),_c('th',{staticClass:\"d-none d-md-table-cell\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.roles.noteColumn'))+\" \")]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.companyRoles),function(companyRole){return _c('tr',{key:companyRole.id},[_c('td',[_vm._v(\" \"+_vm._s(companyRole.companyName)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.companyRoleString(companyRole))+\" \")]),_c('td',{staticClass:\"d-none d-md-table-cell\"},[_vm._v(\" \"+_vm._s(_vm.getShortNote(companyRole.note))+\" \")]),_c('td',[_c('BaseButtonIcon',{attrs:{\"size\":\"sm\",\"icon-size\":\"sm\",\"icon-name\":\"ellipsis-v\",\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"outside\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu\"},[_c('li',{staticClass:\"dropdown-item clickable\",attrs:{\"data-bs-dismiss\":\"dropdown\"},on:{\"click\":function($event){return _vm.selectRole(companyRole)}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.role.tooltip'))+\" \")]),(companyRole.companyId)?_c('li',{staticClass:\"dropdown-item clickable\",on:{\"click\":function($event){return _vm.routeToCompanyView(companyRole)}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.company.link'))+\" \")]):_vm._e()])]},proxy:true}],null,true)})],1)])}),0)]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.project.roles.noRoles'))+\" \")])]),_c('ModalRoleInfo',{attrs:{\"modal-id\":_vm.roleModalId,\"object-id\":_vm.project.id,\"object-name\":_vm.project.name,\"company-role\":_vm.selectedRole,\"is-procurement\":false,\"tip-sent\":_vm.tipSent},on:{\"tipSent\":_vm.addSentTip}})],1),(_vm.project.procurements && _vm.project.procurements.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"show-body\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.relatedProcurements'))+\" \")]},proxy:true}],null,false,3921000361)}),_c('SearchItemsListView',{attrs:{\"search-items\":_vm.project.procurements}})],1):_vm._e(),(_vm.imagesFromFiles && _vm.imagesFromFiles.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"PROJECT_FILES\",\"header-bg-color\":_vm.getHashColor('PROJECT_FILES')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.images'))+\" \")]},proxy:true}],null,false,1698017887)},[_c('ImageCarousel',{attrs:{\"carousel-id\":\"project-image-carousel\",\"images\":_vm.imagesFromFiles}})],1)],1):_vm._e()])]),_c('div',{staticClass:\"col-12 col-lg-3\"},[_c('div',{staticClass:\"row g-4\"},[(_vm.windowSize >= 992)?_c('div',{staticClass:\"col-12\"},[_c('IconBar',{attrs:{\"id\":(\"project-icon-bar-\" + (_vm.project.id)),\"size\":\"lg\",\"variant\":_vm.$vmx.user.hasProduct ? 'primary' : 'secondary',\"data-object\":_vm.project,\"fixed-height\":true}})],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"padding-x\":3,\"header-padding-x\":4},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('general.latestUpdate', 2))+\" \")]},proxy:true}],null,false,370033425)},[_c('UpdateList',{attrs:{\"scroll-size\":\"60vh\",\"updates\":_vm.updates},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar update = ref.update;\nreturn [_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){_vm.isAboveBasicProduct ? _vm.setHash(update.scrollId) : null}}},[_vm._v(\" \"+_vm._s(update.text)+\" \")])]}}],null,false,676328608)})],1)],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$tc('general.note', 2))+\" \")]},proxy:true}],null,false,3750799979)},[_c('NoteList',{attrs:{\"id\":\"note-list\",\"notes\":_vm.project.notes,\"limit\":2},model:{value:(_vm.selectedNote),callback:function ($$v) {_vm.selectedNote=$$v},expression:\"selectedNote\"}})],1)],1),(_vm.relatedProjects.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{staticClass:\"mb-2\",attrs:{\"id\":\"PARENT\",\"header-bg-color\":_vm.getHashColor('PARENT'),\"show-body\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.relatedProjects'))+\" \")]},proxy:true}],null,false,1637282658)}),_c('HorizontalDraggable',_vm._l((_vm.relatedProjects),function(relatedProject,index){return _c('div',{key:relatedProject.id,staticClass:\"col pb-2\",class:_vm.getDraggableClasses(index, _vm.relatedProjects.length)},[_c('ProjectReferenceCard',{attrs:{\"project\":relatedProject}})],1)}),0)],1):_vm._e(),(_vm.project.articles && _vm.project.articles.length > 0)?_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{staticClass:\"mb-2\",attrs:{\"show-body\":false},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.project.articles'))+\" \")]},proxy:true}],null,false,3400790012)}),_c('HorizontalDraggable',_vm._l((_vm.project.articles),function(article,index){return _c('div',{key:article.id,staticClass:\"col pb-2\",class:_vm.getDraggableClasses(index, _vm.project.articles.length)},[_c('ArticleCard',{attrs:{\"article\":article}})],1)}),0)],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{attrs:{\"id\":\"PHASE\",\"header-bg-color\":_vm.getHashColor('PHASE')},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.phase'))+\" \")]},proxy:true}],null,false,2739174996)},[_c('PhaseTimeline',{attrs:{\"phase-records\":_vm.project.projectPhaseRecords,\"current-phase\":_vm.project.projectPhase}})],1)],1)])]),_c('ModalNoteEdit',{attrs:{\"modal-id\":(\"edit-\" + _vm.noteId),\"initial-note\":_vm.selectedNote,\"project-id\":_vm.project.id},on:{\"noteSaved\":_vm.noteSaved,\"openDeleteModal\":_vm.openDeleteNoteModal}}),_c('ModalNoteDelete',{attrs:{\"modal-id\":(\"delete-\" + _vm.noteId),\"note\":_vm.selectedNote},on:{\"noteDeleted\":_vm.noteDeleted}})],1):_c('div',[(_vm.errorCode == 401)?_c('div',[_c('Error401')],1):(_vm.errorCode == 404)?_c('Error404',[_c('div',[_vm._v(_vm._s(_vm.$t('pages.procurement.error404')))])]):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-carousel\"},[_c('div',{ref:\"carousel\",staticClass:\"carousel\",attrs:{\"id\":_vm.carouselId,\"data-bs-ride\":\"carousel\"}},[_c('div',{ref:\"carouselInner\",staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image){return _c('div',{key:image.id,staticClass:\"carousel-item\"},[_c('div',{staticClass:\"d-block w-100\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center\"},[_c('button',{staticClass:\"btn transparent-background border-0 p-0\",attrs:{\"id\":\"expand-image-button\",\"variant\":\"light\",\"data-bs-toggle\":\"modal\",\"data-bs-target\":\"#image-modal\"},on:{\"click\":function($event){return _vm.selectImage(image)}}},[_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":_vm.imageFromFile(image)}})])]),(image.source)?_c('p',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(image.source)+\" \")]):_vm._e()])])}),0),(_vm.showControls)?_c('button',{staticClass:\"carousel-control-prev\",attrs:{\"type\":\"button\",\"data-bs-target\":(\"#\" + _vm.carouselId),\"data-bs-slide\":\"prev\"}},[_c('span',{staticClass:\"carousel-control-prev-icon\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Previous\")])]):_vm._e(),(_vm.showControls)?_c('button',{staticClass:\"carousel-control-next\",attrs:{\"type\":\"button\",\"data-bs-target\":(\"#\" + _vm.carouselId),\"data-bs-slide\":\"next\"}},[_c('span',{staticClass:\"carousel-control-next-icon\",attrs:{\"aria-hidden\":\"true\"}}),_c('span',{staticClass:\"visually-hidden\"},[_vm._v(\"Next\")])]):_vm._e()]),_c('BaseModalContainer',{attrs:{\"modal-id\":\"image-modal\",\"size\":\"xl\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.selectedImage ? _vm.selectedImage.name : '')+\" \")]},proxy:true}])},[(_vm.selectedImage)?_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center\"},[_c('img',{staticClass:\"img-fluid\",attrs:{\"src\":_vm.imageFromFile(_vm.selectedImage)}})])]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.ok'))+\" \")])],1)])])]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Carousel } from 'bootstrap'\r\nimport { File } from '@/interfaces/file';\r\n// import { globalFunctions } from '@/util/global-functions';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ImageCarousel extends Vue {\r\n @Prop({type: String, required: true}) private carouselId: number;\r\n @Prop({type: Array, required: true}) private images: File[];\r\n @Prop({ type: Boolean, default: true }) private showControls: boolean;\r\n @Prop({\r\n type: Number,\r\n default: 3,\r\n validator: function(value: number) {\r\n return [1,2,3,4,6,12].indexOf(value) !== -1;\r\n },\r\n })\r\n private imagesShown: number;\r\n @Prop({type: Number, default: 4000}) private interval: number;\r\n @Ref() carousel: HTMLDivElement;\r\n @Ref() carouselInner: HTMLDivElement;\r\n getFromFile = this.$vmx.file.fromFile;\r\n selectedImage: File = null;\r\n\r\n mounted() {\r\n this.carouselInner.firstElementChild.classList.add('active');\r\n new Carousel(this.carousel);\r\n }\r\n\r\n public imageFromFile(image: File) {\r\n return image.link ? image.link : this.getFromFile(`${image.code}.${image.extension}`);\r\n }\r\n\r\n public modularOfShown() {\r\n if (this.images && this.images.length > 0) {\r\n return [...Array(this.images.length-1)].map((_,i)=>i).filter(i=>i%this.imagesShown===0);\r\n }\r\n return [];\r\n }\r\n\r\n public selectImage(image: File) {\r\n this.selectedImage = image;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-carousel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image-carousel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./image-carousel.vue?vue&type=template&id=c6f8ef6e&\"\nimport script from \"./image-carousel.vue?vue&type=script&lang=ts&\"\nexport * from \"./image-carousel.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./image-carousel.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport ArticleCard from '@/components/cards/article-card.vue';\r\nimport { CompanyRole } from '@/interfaces/company-role';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\nimport { dateUtils } from '@/util/date-utils';\r\nimport Error401 from '@/components/error-components/error-401.vue';\r\nimport Error404 from '@/components/error-components/error-404.vue';\r\nimport { File } from '@/interfaces/file';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport HorizontalDraggable from '@/components/draggables/horizontal-draggable.vue';\r\nimport IconBar from '@/components/containers/icon-bar.vue';\r\nimport ImageCarousel from '@/components/general-components/image-carousel.vue';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\r\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\r\nimport ModalRoleInfo from '@/components/modals/modal-role-info.vue';\r\nimport { Note } from '@/interfaces/note';\r\nimport NoteList from '@/components/general-components/note-list.vue';\r\nimport PhaseTimeline from '@/components/phase-timeline.vue';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { ProjectReference } from '@/interfaces/project-reference';\r\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\r\nimport { projectService } from '@/services/restapi/project-service';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\nimport { setTimeout } from 'timers';\r\nimport { Update } from '@/interfaces/update';\r\nimport UpdateList from '@/components/general-components/update-list.vue';\r\nimport { updateService } from '@/services/restapi/update-service';\r\n\r\n@Component({\r\n components: {\r\n ArticleCard,\r\n Error401,\r\n Error404,\r\n HorizontalDraggable,\r\n IconBar,\r\n ImageCarousel,\r\n ModalNoteEdit,\r\n ModalNoteDelete,\r\n ModalRoleInfo,\r\n NoteList,\r\n PhaseTimeline,\r\n ProjectReferenceCard,\r\n SearchItemsListView,\r\n UpdateList,\r\n },\r\n})\r\nexport default class ProjectView extends Vue {\r\n @Prop() private id: number;\r\n @Prop({ default: false }) printOnLoad: boolean;\r\n @Ref() slider: HTMLElement;\r\n loading = true;\r\n project: Project = null;\r\n getFromFile = this.$vmx.file.fromFile;\r\n sentTips: boolean[] = [];\r\n tipHasBeenSent: boolean = null;\r\n errorCode: number = null;\r\n\r\n selectedRole: CompanyRole = null;\r\n selectedNote: Note = null;\r\n\r\n sliderDown = false;\r\n articleClickable = true;\r\n startX: number;\r\n scrollLeft: number;\r\n\r\n windowSize = window.innerWidth;\r\n currentHash: string = null;\r\n\r\n updates: Update[] = null;\r\n\r\n mounted() {\r\n window.scrollTo(0, 0);\r\n window.addEventListener('resize', this.resizeHandler);\r\n // this.project = await projectService.getProjectById(this.id);\r\n this.loadProject();\r\n updateService.getUpdatesByProjectId(this.id).then(updates => {\r\n this.updates = updates;\r\n });\r\n\r\n }\r\n\r\n loadProject() {\r\n this.loading = true;\r\n\r\n projectService.getProjectById(this.id)\r\n .then(\r\n (project) => {\r\n this.project = project;\r\n document.title = this.project.name;\r\n this.project.articles.sort((x, y) => {\r\n return dateUtils.isDateStringAfter(x.created, y.created)\r\n ? -1 : dateUtils.isDateStringAfter(y.created, x.created)\r\n ? 1 : 0;\r\n });\r\n this.$nextTick(() => {\r\n if (this.printOnLoad) {\r\n // We wait 0.5 sec for the page to render and then open print\r\n globalFunctions.timeout(500).then(() => window.print());\r\n }\r\n });\r\n if (this.$vmx.session.isLoggedInLimitedAccess) {\r\n this.$vmx.limitedAccess.reFetchLimitedAccess();\r\n }\r\n this.setHash();\r\n },\r\n (error) => {\r\n if (error == ResponseCodes.ACCESS_RUN_OUT) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_ACCESS_EXPIRED });\r\n return;\r\n }\r\n this.errorCode = error;\r\n },\r\n )\r\n .finally(() => {\r\n this.$nextTick(() => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n\r\n get noteId() {\r\n return 'note-list';\r\n }\r\n\r\n get firstListWithObject(): List {\r\n if (this.isOnList) {\r\n return this.$vmx.list.listsWithObject(this.project)[0];\r\n }\r\n return null;\r\n }\r\n\r\n get isOnList(): boolean {\r\n return this.$vmx.list.isInList(this.project);\r\n }\r\n\r\n get companyRoles(): CompanyRole[] {\r\n const companyRoles = this.project.companyRoles.slice();\r\n return companyRoles;\r\n }\r\n\r\n get budgetString(): string {\r\n if (this.project && this.project.budget) {\r\n return this.$n(this.project.budget, 'currency', domainUtils.domain.numberFormat);\r\n }\r\n return this.$t('general.emptyField') as string;\r\n }\r\n\r\n get projectStartEndString(): string {\r\n const empty = this.$t('general.emptyField');\r\n return `${this.project.start ?? empty} - ${this.project.end ?? empty}`;\r\n }\r\n\r\n get fullAddress(): string {\r\n let address = this.project.address ?? '';\r\n if (this.project.postalCode) {\r\n address += `, ${this.project.postalCode}`;\r\n }\r\n if (this.project.city) {\r\n address += ` ${this.project.city}`;\r\n }\r\n return address ?? 'N/A';\r\n }\r\n\r\n get hasCouncilSummaryInfo(): boolean {\r\n return (\r\n !!this.project.summaryCommittee ||\r\n !!this.project.summaryDate ||\r\n !!this.project.summaryLink ||\r\n !!this.project.summaryMunicipality ||\r\n !!this.project.summaryNumber\r\n );\r\n }\r\n\r\n get relatedProjects(): ProjectReference[] {\r\n let related = [];\r\n\r\n if (this.project.parentProject) {\r\n related.push(this.project.parentProject);\r\n }\r\n if (this.project.childrenProjects && this.project.childrenProjects.length > 0) {\r\n related = related.concat(this.project.childrenProjects);\r\n }\r\n return related;\r\n }\r\n\r\n get imagesFromFiles(): File[] {\r\n if (this.project.files) {\r\n return this.project.files.filter((file) => file.image);\r\n }\r\n return [];\r\n }\r\n\r\n get isAboveBasicProduct(): boolean {\r\n return this.$vmx.user.hasProduct;\r\n }\r\n\r\n get roleModalId() {\r\n return 'modal-role-info';\r\n }\r\n\r\n get tipSent(): boolean {\r\n if (this.selectedRole) {\r\n return this.sentTips[this.selectedRole.id];\r\n }\r\n return false;\r\n }\r\n\r\n @Watch('id')\r\n idChanged(newId: number) {\r\n window.scrollTo(0, 0);\r\n this.loadProject();\r\n }\r\n\r\n @Watch('$vmx.blacklist.blacklists')\r\n blacklistEdited() {\r\n this.$vmx.search.resetPage();\r\n }\r\n\r\n concatCriterionName(criteria: Criterion[], id: number): string {\r\n if (criteria && criteria.length > 0) {\r\n for (const criterion of criteria) {\r\n if (criterion.id === id) {\r\n return criterion.name;\r\n } else if (criterion.children && criterion.children.length > 0) {\r\n const childConcat = this.concatCriterionName(criterion.children, id);\r\n if (childConcat) {\r\n return childConcat.includes('>') ? childConcat : `${criterion.name} > ${childConcat}`;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n companyRoleString(companyRole: CompanyRole): string {\r\n const unspecified = this.$t('general.unspecified') as string;\r\n if (companyRole.role && companyRole.role.name && companyRole.role.name != unspecified) {\r\n return companyRole.role.name;\r\n } else if (companyRole.roleString) {\r\n return companyRole.roleString;\r\n } else {\r\n return unspecified;\r\n }\r\n }\r\n\r\n getCriteriaOfType(typeId: number): Criterion[] {\r\n return this.project.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\r\n }\r\n\r\n public getDraggableClasses(index: number, length: number) {\r\n return [\r\n { 'ps-0': index === 0 },\r\n { 'pe-0': index === length - 1 },\r\n { 'col-12': length === 1 },\r\n { 'col-10': length >= 1 },\r\n ];\r\n }\r\n\r\n getShortNote(note: string) {\r\n if (note && note.length > 50) {\r\n return note.slice(0, 50) + '...';\r\n }\r\n return note;\r\n }\r\n\r\n public formatDate(date: string, format: string): string {\r\n return formatUtils.formatDate(date, format);\r\n }\r\n\r\n public imageFromFile(file: File) {\r\n if (file) {\r\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\r\n } else {\r\n return this.getFromFile(undefined);\r\n }\r\n }\r\n\r\n public procurementClicked(procurement: ProcurementReference) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW, params: { id: procurement.id.toString() } });\r\n }\r\n\r\n public projectClicked(project: ProjectReference) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_PROJECT_VIEW, params: { id: project.id.toString() } });\r\n }\r\n\r\n public resizeHandler() {\r\n this.windowSize = window.innerWidth;\r\n }\r\n\r\n selectRole(companyRole: CompanyRole) {\r\n this.selectedRole = companyRole;\r\n this.openModal(this.roleModalId);\r\n }\r\n\r\n openModal(modalId: string) {\r\n const element = document.getElementById(modalId);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n addSentTip(companyRoleId: number) {\r\n this.sentTips[companyRoleId] = true;\r\n this.sentTips = [...this.sentTips];\r\n }\r\n\r\n openDeleteNoteModal(id: number) {\r\n this.selectedNote = this.project.notes.find((note) => note.id == id);\r\n this.openModal(`delete-${this.noteId}`);\r\n }\r\n\r\n noteSaved(note: Note) {\r\n if (this.project.notes.some((x) => x.id === note.id)) {\r\n this.project.notes = this.project.notes.map((obj) => (obj.id === note.id ? note : obj));\r\n } else {\r\n this.project.notes.push(note);\r\n this.project.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\r\n }\r\n this.selectedNote = null;\r\n }\r\n\r\n noteDeleted(id: number) {\r\n this.project.notes.splice(\r\n this.project.notes.findIndex((x) => x.id === id),\r\n 1,\r\n );\r\n this.selectedNote = null;\r\n }\r\n\r\n routeToCompanyView(companyRole: CompanyRole) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_VIEW, params: { id: companyRole.companyId.toString() } })\r\n }\r\n\r\n setHash(type?: string) {\r\n if (type) {\r\n if (this.currentHash == type) {\r\n document.getElementById(type).scrollIntoView();\r\n return;\r\n }\r\n\r\n this.currentHash = type;\r\n this.$router.replace({ hash: `#${type}` });\r\n return;\r\n }\r\n\r\n this.currentHash = location.hash.split('#')[1] ?? null;\r\n if (this.currentHash == null) return;\r\n setTimeout(() => {\r\n document.getElementById(this.currentHash).scrollIntoView();\r\n }, 500);\r\n }\r\n\r\n getHashColor(type: string): string {\r\n return this.currentHash == type ? 'cta' : 'trademark';\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./project-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./project-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./project-view.vue?vue&type=template&id=d6cc99b0&\"\nimport script from \"./project-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./project-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./project-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-company-view\"},[(_vm.$vmx.user.hasCompanyAccess)?_c('div',[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-lg-8\"},[_c('SearchInput',{attrs:{\"button\":\"\",\"border-bottom\":false,\"background-color\":\"var(--color-white)\",\"placeholder\":_vm.$t('pages.search.freeSearch')},model:{value:(_vm.freeSearch),callback:function ($$v) {_vm.freeSearch=$$v},expression:\"freeSearch\"}})],1)])]),_c('div',{staticClass:\"col-12 col-lg-5 col-xxl-4\"},[_c('CompanyCriteriaMenu')],1),_c('div',{staticClass:\"col-12 col-lg-7 col-xxl-8\"},[_c('div',[_c('div',{staticClass:\"row align-items-center mb-2\"},[_c('div',{staticClass:\"col-auto\"},[(_vm.count)?_c('h4',[_vm._v(\" \"+_vm._s(_vm.$tc('pages.companySearch.results', _vm.count, [_vm.count]))+\" \")]):_vm._e()]),_c('div',{staticClass:\"col-auto ms-auto\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('DropdownOrderBy',{attrs:{\"options\":_vm.orderByOptions.map(function (o) { return o[1]; }),\"disabled\":_vm.isSearchEmpty},model:{value:(_vm.orderBy),callback:function ($$v) {_vm.orderBy=$$v},expression:\"orderBy\"}})],1)])])]),_c('TableCompanyList',{ref:\"tableCompanyList\",attrs:{\"companies\":_vm.results,\"loading\":_vm.loading}}),(_vm.loading)?_c('BaseLoadingSpinner'):(_vm.count > _vm.limit)?_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){return _vm.addToLimit()}}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.companySearch.loadMore'))+\" \")]),_c('div',{staticClass:\"text-center\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'chevron-double-down'],\"size\":\"1x\"}})],1)])]):_vm._e()],1)])])]):_c('Error401')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"company-criteria-menu\"},[_c('BaseContainer',{attrs:{\"show-header\":false}},[_c('div',{staticClass:\"fw-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.filter'))+\" \")]),_c('div',{staticClass:\"d-flex justify-content-end fw-medium\"},[_c('span',{class:_vm.canReset ? 'clickable text-danger' : 'no-select grey opacity-50',on:{\"click\":function () { return (_vm.canReset ? _vm.$vmx.searchCompany.resetCompanyAgent() : null); }}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.reset'))+\" \")])]),_c('BaseFoldMenu',{staticClass:\"my-2 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"text\":_vm.$tc('general.criteria.roles', 2)}},[_c('CriteriaTree',{attrs:{\"criteria-options\":_vm.$vmx.role.roles,\"is-disabled\":_vm.disableRoleFunc},model:{value:(_vm.roles),callback:function ($$v) {_vm.roles=$$v},expression:\"roles\"}})],1),_c('CountrySelector',{model:{value:(_vm.countryIds),callback:function ($$v) {_vm.countryIds=$$v},expression:\"countryIds\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[_c('div',[_c('BaseButtonIcon',{class:_vm.invisible ? 'invisible' : 'visible',attrs:{\"size\":_vm.size,\"icon-size\":_vm.iconSize,\"variant\":_vm.variant,\"type\":\"fal\",\"icon-name\":_vm.isFolded ? 'chevron-right' : 'chevron-down',\"disabled\":_vm.disabled},on:{\"click\":_vm.click}})],1),_c('div',{class:[_vm.textClass, _vm.disabled ? 'text-secondary': 'text-dark'],on:{\"click\":_vm.click}},[_vm._t(\"text\",function(){return [_c('div',{class:{'clickable': !_vm.disabled}},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")])]})],2)]),(!_vm.invisible && !_vm.isFolded)?_c('div',{class:_vm.contentClass},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: { },\r\n})\r\nexport default class BaseFoldMenu extends Vue {\r\n @Prop({ default: 'missing text' }) text: string;\r\n @Prop({ default: 'xs' }) size: string;\r\n @Prop({ default: 'xs' }) iconSize: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: false }) invisible: boolean;\r\n @Prop({ default: 'white '}) variant: string;\r\n @Prop({ default: true }) folded: boolean;\r\n @Prop({ default: '' }) textClass: string | string[] | {[attr: string]: boolean};\r\n @Prop({ default: '' }) contentClass: string | string[] | {[attr: string]: boolean};\r\n\r\n foldedVal = null as boolean;\r\n\r\n get isFolded() {\r\n if (this.foldedVal == null) {\r\n this.foldedVal = this.folded;\r\n }\r\n return this.foldedVal;\r\n }\r\n\r\n set isFolded(val) {\r\n this.foldedVal = val;\r\n }\r\n\r\n @Watch('disabled')\r\n disabledChanged() {\r\n if (this.disabled) this.isFolded = true;\r\n }\r\n\r\n click() {\r\n if (this.invisible || this.disabled) {\r\n return;\r\n }\r\n this.isFolded = !this.isFolded;\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-fold-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-fold-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-fold-menu.vue?vue&type=template&id=0cf38201&scoped=true&\"\nimport script from \"./base-fold-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-fold-menu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0cf38201\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"country-selector\"},[_c('BaseFoldMenu',{staticClass:\"my-2 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"text\":_vm.$tc('general.criteria.country', 2)}},[_c('div',{staticClass:\"country-selector row ps-3\"},_vm._l((_vm.allCountriesLimited),function(countryItem,index){return _c('div',{key:index},[_c('div',{staticClass:\"d-flex align-items-center py-2\"},[_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[_c('div',[_c('BaseButtonIcon',{staticClass:\"invisible\",attrs:{\"size\":\"xs\",\"icon-size\":\"xs\",\"variant\":\"white\",\"type\":\"fal\",\"icon-name\":\"chevron-right\"}})],1),_c('div',{staticClass:\"ms-1 mt-1\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input me-2\",attrs:{\"id\":(\"country-selector-\" + index + \"-\" + (countryItem.name)),\"disabled\":_vm.disabled,\"type\":\"checkbox\"},domProps:{\"checked\":_vm.isSelected(countryItem)},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.countryClicked(countryItem); }).apply(null, arguments)}}}),_c('label',{staticClass:\"form-check-label fw-normal mb-0\",attrs:{\"for\":(\"country-selector-\" + index + \"-\" + (countryItem.name))}},[_vm._v(\" \"+_vm._s(countryItem.name)+\" \")])])])])])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\r\n\r\n@Component({\r\n components: {\r\n BaseFoldMenu,\r\n },\r\n})\r\nexport default class CountrySelector extends Vue {\r\n @VModel() countryIds: number[]\r\n @Prop({ default: true }) onlyDomainCountries: boolean;\r\n @Prop({ default: false }) disabled: boolean;\r\n\r\n get allCountriesLimited() {\r\n if (this.$vmx.country.countries) {\r\n const allCountries = this.$vmx.country.countries;\r\n const countries = this.onlyDomainCountries\r\n ? allCountries.filter(c => this.$vmx.domain.domains.some(d => d.countryId === c.id))\r\n : allCountries;\r\n if (countries) {\r\n const countryMap = countries.map((c) => {\r\n return {\r\n ids: [c.id],\r\n name: c.name,\r\n }\r\n });\r\n if (this.onlyDomainCountries) {\r\n // TODO: When we have more foreign companies, uncomment this code\r\n // countryMap.push({\r\n // ids: allCountries.filter(c => !countries.some(c2 => c2.id === c.id)).map(c => c.id),\r\n // name: this.$tc('general.other', 2) as string,\r\n // })\r\n } else {\r\n allCountries.forEach(c => {\r\n countryMap.push({\r\n ids: [c.id],\r\n name: c.name,\r\n });\r\n })\r\n }\r\n return countryMap;\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n countryClicked(countryMap: {ids: number[], name: string}) {\r\n let newCountryIds = [...this.countryIds];\r\n if (countryMap.ids.some(id => newCountryIds.includes(id))) {\r\n newCountryIds = newCountryIds.filter(cid => !countryMap.ids.includes(cid));\r\n } else {\r\n newCountryIds = newCountryIds.concat(countryMap.ids);\r\n }\r\n this.countryIds = [...new Set(newCountryIds)]; // unique values\r\n }\r\n\r\n isSelected(countryMap: {ids: number[], name: string}): boolean {\r\n return countryMap.ids.every(id => this.countryIds.includes(id));\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./country-selector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./country-selector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./country-selector.vue?vue&type=template&id=3fd71dbc&scoped=true&\"\nimport script from \"./country-selector.vue?vue&type=script&lang=ts&\"\nexport * from \"./country-selector.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3fd71dbc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row ps-3\"},_vm._l((_vm.criteriaOptions),function(criteria){return _c('div',{key:criteria.id},[_c('div',{class:(\"d-flex align-items-center py-\" + _vm.yPadding)},[_c('BaseFoldMenu',{attrs:{\"text-class\":\"ms-1 mt-1\",\"invisible\":criteria.children == null || criteria.children.length == 0,\"disabled\":_vm.isDisabled == null ? false : _vm.isDisabled(criteria)},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input me-2\",attrs:{\"id\":(\"criteria-tree_\" + (criteria.name)),\"disabled\":_vm.isDisabled == null ? false : _vm.isDisabled(criteria),\"type\":\"checkbox\"},domProps:{\"checked\":_vm.isChecked(criteria)},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.click(criteria); }).apply(null, arguments)}}}),_c('label',{staticClass:\"form-check-label fw-normal mb-0\",attrs:{\"for\":(\"criteria-tree_\" + (criteria.name))},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return (function () { return _vm.click(criteria); }).apply(null, arguments)}}},[_c('span',[_vm._v(_vm._s(criteria.name))]),(_vm.countRecord != null && (_vm.isDisabled == null || !_vm.isDisabled(criteria)))?_c('span',{staticClass:\"ms-1 grey\"},[_vm._v(\" (\"+_vm._s(_vm.getCriteriaCount(criteria))+\") \")]):_vm._e()])])]},proxy:true}],null,true)},[(criteria.children != null && criteria.children.length != 0)?_c('div',[_c('CriteriaTree',{attrs:{\"criteria-options\":criteria.children,\"count-record\":_vm.countRecord,\"is-disabled\":_vm.isDisabled},model:{value:(_vm.criterias),callback:function ($$v) {_vm.criterias=$$v},expression:\"criterias\"}})],1):_vm._e()])],1)])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\nimport { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue';\r\n\r\n@Component({\r\n name: 'CriteriaTree',\r\n components: {\r\n CriteriaTree,\r\n BaseFoldMenu,\r\n },\r\n})\r\nexport default class CriteriaTree extends Vue {\r\n @VModel() criterias: AbstractCriteria[];\r\n @Prop({ required: true }) criteriaOptions: AbstractCriteria[];\r\n @Prop({ default: null }) countRecord: Record;\r\n @Prop({ default: null }) isDisabled: (criteria: AbstractCriteria) => boolean;\r\n\r\n @Prop({ default: 2 }) yPadding: number;\r\n\r\n getCriteriaCount(criteria: AbstractCriteria): number {\r\n if (criteria.children == null || criteria.children.length == 0) {\r\n return this.countRecord != null && this.countRecord[criteria.id] != null\r\n ? this.countRecord[criteria.id]\r\n : 0\r\n }\r\n\r\n return criteria.children?.reduce(\r\n (acc, child) => acc + this.getCriteriaCount(child),\r\n this.countRecord != null && this.countRecord[criteria.id] != null\r\n ? this.countRecord[criteria.id]\r\n : 0,\r\n );\r\n }\r\n\r\n isChecked(criteria: AbstractCriteria): boolean {\r\n return this.criterias.some((criteria0) => criteria0.id === criteria.id);\r\n }\r\n\r\n click(criteria: AbstractCriteria) {\r\n if (this.isDisabled != null && this.isDisabled(criteria)) {\r\n return;\r\n }\r\n const isChecked = this.isChecked(criteria);\r\n\r\n const subs = this.findChildren(criteria).filter(\r\n (sub) => this.isChecked(sub) === isChecked,\r\n );\r\n\r\n if (isChecked) {\r\n this.criterias = this.criterias.filter(\r\n (criteria0) => !subs.some((sub) => sub.id === criteria0.id),\r\n )\r\n } else {\r\n this.criterias = [ ...this.criterias, ...subs ];\r\n }\r\n }\r\n\r\n private checkCriteria(criteria: AbstractCriteria, check: boolean): void {\r\n const isChecked = this.isChecked(criteria);\r\n\r\n if (criteria.children != null && criteria.children.length != 0) {\r\n criteria.children.forEach((child) => this.checkCriteria(child, check));\r\n }\r\n\r\n if (check && !isChecked) {\r\n this.criterias = [ criteria, ...this.criterias ];\r\n } else if (!check && isChecked) {\r\n this.criterias = this.criterias.filter((criteria0) => criteria0.id != criteria.id)\r\n }\r\n }\r\n\r\n private findChildren(criteria: AbstractCriteria): AbstractCriteria[] {\r\n const children = criteria?.children?.flatMap(this.findChildren);\r\n return [ criteria, ...(children ?? [])]\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./criteria-tree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./criteria-tree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./criteria-tree.vue?vue&type=template&id=7cfb0bd0&scoped=true&\"\nimport script from \"./criteria-tree.vue?vue&type=script&lang=ts&\"\nexport * from \"./criteria-tree.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cfb0bd0\",\n null\n \n)\n\nexport default component.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\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\r\nimport CountrySelector from './country-selector.vue';\r\nimport CriteriaTree from './criteria-tree.vue'\r\nimport { Role } from '@/interfaces/criterias/role';\r\nimport { SearchItemTypes } from '@/util/enums/search-item-types';\r\n\r\n@Component({\r\n components: {\r\n BaseFoldMenu,\r\n CountrySelector,\r\n CriteriaTree,\r\n },\r\n})\r\nexport default class CompanyCriteriaMenu extends Vue {\r\n get canReset(): boolean {\r\n return !this.$vmx.searchCompany.isSearchEmpty;\r\n }\r\n\r\n get roles() {\r\n return this.$vmx.searchCompany.companyAgent.roles;\r\n }\r\n\r\n set roles(roles: Role[]) {\r\n this.$vmx.searchCompany.updateCompanyAgent({\r\n id: null,\r\n roles,\r\n });\r\n }\r\n\r\n get countryIds(): number[] {\r\n return this.$vmx.searchCompany.companyAgent.countryIds;\r\n }\r\n\r\n set countryIds(countryIds: number[]) {\r\n this.$vmx.searchCompany.updateCompanyAgent({\r\n id: null,\r\n countryIds,\r\n });\r\n }\r\n\r\n disableRoleFunc(role: AbstractCriteria): boolean {\r\n return (role as Role).allowedItemTypes === undefined\r\n || !(role as Role).allowedItemTypes.includes(SearchItemTypes.COMPANY);\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-criteria-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./company-criteria-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-criteria-menu.vue?vue&type=template&id=7e840afa&scoped=true&\"\nimport script from \"./company-criteria-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./company-criteria-menu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e840afa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-company-lists-all\"},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.error)?_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('general.error'))+\" \")]):(_vm.companyLists.length > 0)?_c('div',_vm._l((_vm.companyLists),function(companyList){return _c('div',{key:companyList.list.id},[_c('h4',{staticClass:\"border-bottom border-2 border-primary d-flex justify-content-between\"},[_c('span',[(companyList.list.paUserIds.length > 1)?_c('span',{staticClass:\"fw-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.shared').toUpperCase())+\" \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(companyList.list.name)+\" \")])]),_c('span',{staticClass:\"d-flex justify-content-center align-items-center\"},[_c('FontAwesomeIcon',{staticClass:\"clickable text-center\",attrs:{\"icon\":['fal', 'cog'],\"size\":\"1x\"},on:{\"click\":function($event){return _vm.openCompanyListSettingsModal(companyList.list)}}})],1)]),_c('TableCompanyList',{attrs:{\"companies\":companyList.companies}})],1)}),0):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { companyListService } from '@/services/restapi/company-list-service';\r\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\r\n\r\n@Component({\r\n components: {\r\n TableCompanyList,\r\n },\r\n})\r\nexport default class TableCompanyListsAll extends Vue {\r\n\r\n companyLists: Array<{ list: CompanyList, companies: Company[] }> = [];\r\n\r\n loading = false;\r\n error = false;\r\n\r\n async mounted() {\r\n this.fillCompanyLists();\r\n }\r\n\r\n @Watch('$vmx.companyList.companyLists')\r\n @Watch('$vmx.companyList.companyListsLoaded')\r\n async fillCompanyLists() {\r\n if (!this.loading && this.$vmx.companyList.companyListsLoaded) {\r\n this.loading = true;\r\n this.companyLists = [];\r\n for (const companyList of this.$vmx.companyList.companyLists) {\r\n try {\r\n const companies = await companyListService.getCompanyListItems(companyList.id);\r\n this.companyLists.push({\r\n list: companyList,\r\n companies,\r\n });\r\n } catch (error) {\r\n this.error = true;\r\n this.companyLists = [];\r\n break;\r\n }\r\n }\r\n this.loading = false;\r\n }\r\n }\r\n\r\n openCompanyListSettingsModal(companyList: CompanyList) {\r\n this.$vmx.modal.openCompayListSettingsModal({ companyList: companyList });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-company-lists-all.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-company-lists-all.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./table-company-lists-all.vue?vue&type=template&id=04c2d7e7&scoped=true&\"\nimport script from \"./table-company-lists-all.vue?vue&type=script&lang=ts&\"\nexport * from \"./table-company-lists-all.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"04c2d7e7\",\n null\n \n)\n\nexport default component.exports","import { Component, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\r\nimport CompanyCriteriaMenu from '@/components/search-components/company-criteria-menu.vue';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport Error401 from '@/components/error-components/error-401.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { OrderByOptions } from '@/util/enums/order-by-options';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\r\nimport TableCompanyListsAll from '@/components/company-list-components/table-company-lists-all.vue';\r\n\r\n@Component({\r\n components: {\r\n CompanyCriteriaMenu,\r\n DropdownOrderBy,\r\n Error401,\r\n TableCompanyList,\r\n TableCompanyListsAll,\r\n SearchInput,\r\n },\r\n})\r\nexport default class SearchCompanyView extends Vue {\r\n @Ref() tableCompanyList: TableCompanyList;\r\n private showMoreLimit = 10;\r\n orderByOptions: [OrderByOptions, string][] = [\r\n [null as OrderByOptions, this.$t('components.sorting.bestMatch') as string],\r\n [OrderByOptions.UPDATED, this.$t('components.sorting.updated') as string],\r\n ];\r\n\r\n mounted() {\r\n this.$vmx.searchCompany.resetCompanyAgent();\r\n }\r\n\r\n get companyAgent(): CompanyAgent {\r\n return this.$vmx.searchCompany.companyAgent;\r\n }\r\n\r\n get count(): number {\r\n return this.$vmx.searchCompany.count;\r\n }\r\n\r\n get freeSearch(): string {\r\n return this.$vmx.searchCompany.companyAgent.freeSearch;\r\n }\r\n\r\n set freeSearch(freeSearch: string) {\r\n this.$vmx.searchCompany.updateCompanyAgent({freeSearch});\r\n }\r\n\r\n get isSearchEmpty(): boolean {\r\n return this.$vmx.searchCompany.isSearchEmpty;\r\n }\r\n\r\n get limit(): number {\r\n return this.$vmx.searchCompany.limit;\r\n }\r\n\r\n set limit(newLimit: number) {\r\n this.$vmx.searchCompany.setLimit(newLimit);\r\n }\r\n\r\n get loading(): boolean {\r\n return this.$vmx.searchCompany.loading || this.results == null;\r\n }\r\n\r\n get orderBy(): string {\r\n return this.orderByOptions.find(x => x[0] === this.$vmx.searchCompany.orderBy)[1];\r\n }\r\n\r\n set orderBy(orderBy: string) {\r\n this.$vmx.searchCompany.setOrderBy(this.orderByOptions.find(x => x[1] === orderBy)[0]);\r\n }\r\n\r\n get results(): Company[] {\r\n return this.$vmx.searchCompany.results;\r\n }\r\n\r\n @Watch('$vmx.searchCompany.isSearchEmpty')\r\n @Watch('$vmx.searchCompany.loading')\r\n @Watch('results')\r\n resizeTable() {\r\n globalFunctions.timeout(50).then(() => {\r\n if (this.tableCompanyList) {\r\n this.tableCompanyList.resizeHandler();\r\n }\r\n });\r\n }\r\n\r\n addToLimit() {\r\n this.limit = this.limit + this.showMoreLimit;\r\n }\r\n\r\n showMore() {\r\n this.$vmx.searchCompany.setLimit(this.$vmx.searchCompany.limit + this.showMoreLimit);\r\n }\r\n}","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search-company-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search-company-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-company-view.vue?vue&type=template&id=1fb6b63a&scoped=true&\"\nimport script from \"./search-company-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./search-company-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./search-company-view.scss?vue&type=style&index=0&id=1fb6b63a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fb6b63a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-view\"},[_c('div',{staticClass:\"row g-4\"},[_c('div',{staticClass:\"col-12 col-md-6 col-lg-8\"},[_c('SearchInput',{attrs:{\"search-options\":_vm.dropdownOptions,\"search-select\":_vm.dropdownSelect,\"button\":\"\",\"border-bottom\":false,\"background-color\":\"var(--color-white)\",\"placeholder\":_vm.$t('pages.search.freeSearch')},on:{\"searchSelected\":_vm.freeSearchType},model:{value:(_vm.freeSearch),callback:function ($$v) {_vm.freeSearch=$$v},expression:\"freeSearch\"}})],1),_c('div',{staticClass:\"col-12 col-md-6 col-lg-4\"},[_c('div',{staticClass:\"row justify-content-center justify-content-sm-end\"},[(_vm.agent.id == null)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"id\":\"open-save-agent-modal-button\",\"style-classes\":\"px-4 roboto-lg\",\"variant\":\"cta\",\"disabled\":!_vm.$vmx.search.canResetAgent},on:{\"click\":function($event){return _vm.openAgentReplaceModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.saveAsAgent'))+\" \")])],1):_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"id\":\"open-edit-agent-modal-button\",\"variant\":\"cta\"},on:{\"click\":function($event){return _vm.openAgentSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.agentSettings'))+\" \")])],1)])]),_c('div',{staticClass:\"col-12 col-xl-5 col-xxl-4\"},[_c('AgentCriteriaMenu',{attrs:{\"on-update-agent\":_vm.onUpdateAgent}})],1),_c('div',{ref:\"results\",staticClass:\"col-12 col-xl-7 col-xxl-8\",attrs:{\"id\":\"results\"}},[_c('div',{staticClass:\"row align-items-center pb-2\"},[_c('div',{staticClass:\"col-auto text-center text-sm-start\"},[_c('h4',{class:_vm.searchItemPage == null ? 'invisible' : 'visible'},[_vm._v(\" \"+_vm._s(_vm.totalResults)+\" \")])]),(_vm.agent.id)?_c('div',{staticClass:\"col-auto\",class:_vm.searchItemPage == null ? 'invisible' : 'visible'},[_c('h4',[_vm._v(\" (\"+_vm._s(_vm.agent.name)+\") \")])]):_vm._e(),_c('div',{staticClass:\"col-auto ms-auto\"},[_c('div',{staticClass:\"row align-items-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"Project\",fn:function(){return [_c('span',{staticClass:\"px-2\"},[_vm._v(_vm._s(_vm.$tc('general.resultTypes.project', 2)))])]},proxy:true},{key:\"Procurement\",fn:function(){return [_c('span',{staticClass:\"px-2\"},[_vm._v(_vm._s(_vm.$tc('general.resultTypes.procurement', 2)))])]},proxy:true}]),model:{value:(_vm.isProject),callback:function ($$v) {_vm.isProject=$$v},expression:\"isProject\"}})],1),_c('div',{staticClass:\"col-auto\"},[_c('DropdownOrderBy',{attrs:{\"options\":_vm.orderByOptions.map(function (o) { return o[1]; })},model:{value:(_vm.orderBy),callback:function ($$v) {_vm.orderBy=$$v},expression:\"orderBy\"}})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseInputSelect',{attrs:{\"disabled\":true,\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"asc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-down']}})]},proxy:true},{key:\"desc\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'arrow-up']}})]},proxy:true}]),model:{value:(_vm.orderByDesc),callback:function ($$v) {_vm.orderByDesc=$$v},expression:\"orderByDesc\"}})],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseInputSelect',{attrs:{\"button-padding-x\":\"2\"},scopedSlots:_vm._u([{key:\"list\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fas', 'th-large']}})]},proxy:true},{key:\"card\",fn:function(){return [_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'list']}})]},proxy:true}]),model:{value:(_vm.listView),callback:function ($$v) {_vm.listView=$$v},expression:\"listView\"}})],1)])])]),(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.isListView)?_c('div',[_c('SearchItemsListView',{staticClass:\"mt-3\",attrs:{\"search-items\":_vm.searchItemPageResults,\"on-persist-blacklist\":_vm.onPersistBlacklist,\"filter-func\":_vm.filterFunc}})],1):_c('div',{staticClass:\"row g-4\"},_vm._l((_vm.searchItemPageResults),function(result){return _c('div',{key:result.id},[_c('SearchItemCard',{attrs:{\"search-item\":result,\"can-regret-blacklisting\":true,\"on-persist-blacklist\":_vm.onPersistBlacklist}})],1)}),0),_c('PageNavigationBar',{attrs:{\"page-count\":_vm.pageCount},model:{value:(_vm.pageNumber),callback:function ($$v) {_vm.pageNumber=$$v},expression:\"pageNumber\"}})],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.agent != null)?_c('div',[_c('div',{staticClass:\"bg-white w-100 d-flex flex-column justify-content-start\"},[_c('div',{staticClass:\"row m-2\"},[_c('div',{staticClass:\"col-12 fw-medium my-2 container-header\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.filter'))+\" \")]),_c('div',{staticClass:\"col\"},[_c('AgentCriteriaFilter',{attrs:{\"on-update-agent\":_vm.onUpdateAgent}})],1)])]),_c('BaseContainer',{staticClass:\"no-select\",attrs:{\"show-header\":false,\"body-style-classes\":\"pt-0\"}},[_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"disabled\":_vm.agent.type === 'Procurement',\"text\":_vm.$t('general.criteria.phase')}},[_c('CriteriaTree',{attrs:{\"criteria-options\":_vm.$vmx.projectPhase.projectPhases,\"count-record\":_vm.page != null ? _vm.page.projectPhaseCount : null,\"is-disabled\":_vm.isProjectPhaseDisabled},model:{value:(_vm.projectPhases),callback:function ($$v) {_vm.projectPhases=$$v},expression:\"projectPhases\"}})],1),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2 text-secondary\",\"content-class\":\"mt-1\",\"disabled\":_vm.agent.type === 'Project',\"text\":_vm.$t('general.criteria.procurementPhase')}},[_c('CriteriaTree',{attrs:{\"criteria-options\":_vm.$vmx.procurementPhase.procurementPhases,\"count-record\":_vm.page != null ? _vm.page.procurementPhaseCount : null},model:{value:(_vm.procurementPhases),callback:function ($$v) {_vm.procurementPhases=$$v},expression:\"procurementPhases\"}})],1),_vm._l((_vm.$vmx.criterion.searchableCriterionTypes),function(criterionType){return _c('BaseFoldMenu',{key:criterionType.id,staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"text\":_vm.$tc(criterionType.translationProperty, 1)}},[_c('CriterionTree',{attrs:{\"checked-criteria\":_vm.getAgentCriteriaOfType(criterionType.id),\"type-id\":criterionType.id,\"criterion-options\":criterionType.criteria,\"is-disabled\":function (c) { return !c.allowedItemTypes.includes(_vm.$vmx.search.agent.type); }},on:{\"input\":_vm.updateCriteria}}),_c('BaseInputCheckbox',{staticClass:\"ms-4\",attrs:{\"value\":_vm.getAllowUnspecifiedType(criterionType.id)},on:{\"checked\":function($event){return _vm.updateAllowUnspecifiedType(criterionType.id, true)},\"unchecked\":function($event){return _vm.updateAllowUnspecifiedType(criterionType.id, false)}}},[_c('span',{staticClass:\"fw-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.includeUnspecified', [ _vm.$tc(criterionType.translationProperty, 1).toLowerCase() ]))+\" \")])])],1)}),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"text\":_vm.$tc('general.criteria.roles', 2)}},[_c('CriteriaTree',{attrs:{\"criteria-options\":_vm.$vmx.role.roles,\"count-record\":_vm.page != null ? _vm.page.roleCount : null,\"is-disabled\":_vm.disableRoleFunc},model:{value:(_vm.roles),callback:function ($$v) {_vm.roles=$$v},expression:\"roles\"}})],1),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"content-class\":\"mt-1\",\"text-class\":\"ms-2\",\"disabled\":_vm.agent.type !== 'Procurement',\"text\":_vm.$t('general.criteria.procurementType')}},[_c('CriteriaTree',{attrs:{\"criteria-options\":_vm.$vmx.procurementType.procurementTypes,\"count-record\":_vm.page != null ? _vm.page.procurementTypeCount : null},model:{value:(_vm.procurementTypes),callback:function ($$v) {_vm.procurementTypes=$$v},expression:\"procurementTypes\"}})],1),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"text\":_vm.$t('general.criteria.startEnd')}},[_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEndOptions.start'))+\": \")]),_c('AgentCriteriaQuarterSelector',{attrs:{\"id\":\"projectStart\"},model:{value:(_vm.projectStart),callback:function ($$v) {_vm.projectStart=$$v},expression:\"projectStart\"}}),_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEndOptions.end'))+\": \")]),_c('AgentCriteriaQuarterSelector',{attrs:{\"id\":\"projectStart\"},model:{value:(_vm.projectEnd),callback:function ($$v) {_vm.projectEnd=$$v},expression:\"projectEnd\"}}),_c('BaseInputCheckbox',{staticClass:\"ms-4 mt-4\",model:{value:(_vm.allowUnspecifiedStartAndEnd),callback:function ($$v) {_vm.allowUnspecifiedStartAndEnd=$$v},expression:\"allowUnspecifiedStartAndEnd\"}},[_c('span',{staticClass:\"fw-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.includeUnspecified', [_vm.$t('general.criteria.startEnd').toLowerCase()]))+\" \")])])],1),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"text\":_vm.$t('general.criteria.mesures')}},[_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.estimatedSum'))+\": \")]),_c('AgentCriteriaRange',{staticClass:\"ms-5 pe-4 mb-4\",attrs:{\"min\":_vm.BUDGET_MIN,\"max\":_vm.BUDGET_MAX,\"format-text\":\"mio kr.\"},model:{value:(_vm.budget),callback:function ($$v) {_vm.budget=$$v},expression:\"budget\"}}),_c('BaseInputCheckbox',{staticClass:\"ms-5\",model:{value:(_vm.allowUnspecifiedBudget),callback:function ($$v) {_vm.allowUnspecifiedBudget=$$v},expression:\"allowUnspecifiedBudget\"}},[_c('span',{staticClass:\"fw-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.includeUnspecified', [ _vm.$t('general.criteria.estimatedSum').toLowerCase() ]))+\" \")])]),_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.sizeBuilding'))+\": \")]),_c('AgentCriteriaRange',{staticClass:\"ms-5 pe-4 mb-4\",attrs:{\"min\":_vm.BUILDING_MIN,\"max\":_vm.BUILDING_MAX,\"format-text\":\"m^2\"},scopedSlots:_vm._u([{key:\"format-text\",fn:function(){return [_vm._v(\" m\"),_c('sup',[_vm._v(\"2\")])]},proxy:true}],null,false,2364460308),model:{value:(_vm.sizeBuilding),callback:function ($$v) {_vm.sizeBuilding=$$v},expression:\"sizeBuilding\"}}),_c('BaseInputCheckbox',{staticClass:\"ms-5\",model:{value:(_vm.allowUnspecifiedSize),callback:function ($$v) {_vm.allowUnspecifiedSize=$$v},expression:\"allowUnspecifiedSize\"}},[_c('span',{staticClass:\"fw-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.includeUnspecified', [ _vm.$t('general.criteria.sizeBuilding').toLowerCase() ]))+\" \")])]),_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.sizeGround'))+\": \")]),_c('AgentCriteriaRange',{staticClass:\"ms-5 pe-4 mb-5\",attrs:{\"min\":_vm.GROUND_MIN,\"max\":_vm.GROUND_MAX},scopedSlots:_vm._u([{key:\"format-text\",fn:function(){return [_vm._v(\" m\"),_c('sup',[_vm._v(\"2\")])]},proxy:true}],null,false,2364460308),model:{value:(_vm.sizeGround),callback:function ($$v) {_vm.sizeGround=$$v},expression:\"sizeGround\"}}),_c('div',{staticClass:\"roboto-sm fw-medium ms-4 mt-5\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.numberOfUnits'))+\": \")]),_c('AgentCriteriaRange',{staticClass:\"ms-5 pe-4 mb-5\",attrs:{\"min\":_vm.UNITS_MIN,\"max\":_vm.UNITS_MAX,\"format-text\":_vm.$tc('general.unit', 2)},model:{value:(_vm.numberOfUnits),callback:function ($$v) {_vm.numberOfUnits=$$v},expression:\"numberOfUnits\"}})],1),_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"text\":_vm.$t('pages.search.publicPrivate')}},[_c('BaseDropDown',{staticClass:\"ms-4 mt-2 me-5\",attrs:{\"id\":\"isPublic-dropdown\",\"variant\":\"trademark-25\",\"button-style-classes\":\"roboto w-50\",\"options\":['isBoth', 'isPublic', 'isPrivate']},scopedSlots:_vm._u([{key:\"isBoth\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('pages.search.publicPrivateOptions.both')))])]},proxy:true},{key:\"isPublic\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('pages.search.publicPrivateOptions.public')))]),(_vm.page != null && _vm.page.publicPrivateCount != null)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" (\"+_vm._s(_vm.page.publicPrivateCount.true)+\") \")]):_vm._e()]},proxy:true},{key:\"isPrivate\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('pages.search.publicPrivateOptions.private')))]),(_vm.page != null && _vm.page.publicPrivateCount != null)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" (\"+_vm._s(_vm.page.publicPrivateCount.false)+\") \")]):_vm._e()]},proxy:true},{key:\"button\",fn:function(){return [_c('div',{staticClass:\"d-flex align-items-center\"},[(_vm.isPublic == 'isPublic')?_c('div',{staticClass:\"flex-grow-1 text-start ps-2\"},[_c('span',[_vm._v(_vm._s(_vm.$t('pages.search.publicPrivateOptions.public')))]),(_vm.page != null && _vm.page.publicPrivateCount != null)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" (\"+_vm._s(_vm.page.publicPrivateCount.true)+\") \")]):_vm._e()]):(_vm.isPublic == 'isPrivate')?_c('div',{staticClass:\"flex-grow-1 text-start ps-2\"},[_c('span',[_vm._v(_vm._s(_vm.$t('pages.search.publicPrivateOptions.private')))]),(_vm.page != null && _vm.page.publicPrivateCount != null)?_c('span',{staticClass:\"ms-1\"},[_vm._v(\" (\"+_vm._s(_vm.page.publicPrivateCount.false)+\") \")]):_vm._e()]):_c('div',{staticClass:\"flex-grow-1 text-start ps-2\"},[(_vm.page != null && _vm.page.publicPrivateCount != null)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.publicPrivateOptions.both'))+\" \")]):_vm._e()]),_c('FontAwesomeIcon',{staticClass:\"ms-3\",attrs:{\"icon\":['fal', 'chevron-down']}})],1)]},proxy:true}],null,false,1925410194),model:{value:(_vm.isPublic),callback:function ($$v) {_vm.isPublic=$$v},expression:\"isPublic\"}})],1)],2)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"dropdown col-9\"},[_c('button',{staticClass:\"btn btn-secondary btn-sm dropdown-toggle lato-sm rounded rounded-pill\",attrs:{\"id\":\"agent-filter-dropdown\",\"type\":\"button\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\",\"data-bs-auto-close\":\"outside\",\"disabled\":_vm.criteriasCount == 0}},[_vm._v(\" \"+_vm._s(_vm.$tc('pages.search.filtersChosen', _vm.criteriasCount, [_vm.criteriasCount]))+\" \")]),_c('ul',{staticClass:\"dropdown-menu agent-filter-dropdown w-100 custom-scrollbar\",class:{ invisible: _vm.criteriasCount == 0 },attrs:{\"aria-labelledby\":\"agent-filter-dropdown\"}},_vm._l((_vm.criterias),function(criteria,index){return _c('li',{key:index},[(criteria.items != null && criteria.items.length != 0)?_c('div',[_c('BaseFoldMenu',{attrs:{\"text-class\":\"w-100\",\"icon-size\":\"xs\",\"folded\":false},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_c('div',{staticClass:\"d-flex align-items-center justify-content-between clickable dropdown-header\"},[_c('div',[_vm._v(_vm._s(criteria.header))])])]},proxy:true}],null,true)},_vm._l((criteria.items),function(item,index0){return _c('li',{key:index0},[_c('a',{staticClass:\"dropdown-item d-flex d-row align-items-center justify-content-between rounded-pill bg-secondary-background my-2 mx-1 clickable text-line-through\",on:{\"click\":function($event){return _vm.onClickBullet(item)}}},[_c('span',{staticClass:\"me-2 text-truncate\",domProps:{\"textContent\":_vm._s(item.text)}}),_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'times-circle']}})],1)])}),0)],1):_vm._e()])}),0)]),_c('div',{staticClass:\"col text-end fw-medium\"},[_c('span',{class:_vm.canReset ? 'clickable text-danger' : 'no-select grey opacity-50',on:{\"click\":function () { return (_vm.canReset ? _vm.clearCriteria() : null); }}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.reset'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\r\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\r\nimport { SearchItemTypes } from '@/util/enums/search-item-types';\r\nimport { TranslateResult } from 'vue-i18n';\r\n\r\n@Component({\r\n components: {\r\n BaseFoldMenu,\r\n },\r\n})\r\nexport default class AgentCriteriaFilter extends Vue {\r\n @Prop({ required: true }) onUpdateAgent: (agent: Partial) => void;\r\n\r\n private readonly A_MILLION = 1000000\r\n\r\n get agent() {\r\n return this.$vmx.search.agent;\r\n }\r\n\r\n get getInitialAgent() {\r\n return this.$vmx.search.getInitialAgent;\r\n }\r\n\r\n // Reset agent criteria\r\n get canReset(): boolean {\r\n if (this.agent == null) {\r\n return false;\r\n }\r\n\r\n return [\r\n this.criteriasCount > 0,\r\n this.agent.type != this.getInitialAgent().type,\r\n this.agent.freeSearch != this.getInitialAgent().freeSearch,\r\n ].some((x) => x);\r\n }\r\n\r\n clearCriteria() {\r\n // this.$vmx.search.clearAgent();\r\n this.onUpdateAgent(this.getInitialAgent());\r\n }\r\n\r\n // Dropdown\r\n get criterias(): {\r\n header: TranslateResult,\r\n items: { text: string | TranslateResult, f: () => Partial }[]\r\n }[] {\r\n if (this.$vmx.criterion.criterionTypes == null) {\r\n return [];\r\n }\r\n const selectedFilters = this.agent == null ? [] : [\r\n // projectPhases\r\n {\r\n header: this.$tc('general.criteria.projectPhase', 2),\r\n items: this.projectPhases ?? [],\r\n },\r\n // procurementPhases\r\n {\r\n header: this.$tc('general.criteria.procurementPhase', 2),\r\n items: this.procurementPhases ?? [],\r\n },\r\n // procurementTypes\r\n {\r\n header: this.$tc('general.criteria.procurementType', 2),\r\n items: this.procurementTypes ?? [],\r\n },\r\n // roles\r\n {\r\n header: this.$tc('general.criteria.roles', 2),\r\n items: this.roles ?? [],\r\n },\r\n // estimatedSum\r\n {\r\n header: this.$tc('pages.search.estimatedSumMillions'),\r\n items: this.estimatedSum,\r\n },\r\n // sizeMetres\r\n {\r\n header: this.$tc('general.criteria.sizeMetres'),\r\n items: this.sizeMetres,\r\n },\r\n // sizeBuilding\r\n {\r\n header: this.$tc('general.criteria.sizeBuilding'),\r\n items: this.sizeBuilding,\r\n },\r\n // sizeGround\r\n {\r\n header: this.$tc('general.criteria.sizeGround'),\r\n items: this.sizeGround,\r\n },\r\n {\r\n header: this.$tc('general.criteria.numberOfUnits'),\r\n items: this.numberOfUnits,\r\n },\r\n // projectStartEnd\r\n {\r\n header: this.$t('general.criteria.startEnd'),\r\n items: this.projectStartEnd,\r\n },\r\n // isPublic\r\n {\r\n header: this.$t('pages.search.publicPrivate'),\r\n items: this.isPublic,\r\n },\r\n ];\r\n\r\n for (const criterionType of this.$vmx.criterion.criterionTypes) {\r\n if (this.getCriteriaOfType(criterionType).length > 0) {\r\n selectedFilters.push({\r\n header: this.$tc(criterionType.translationProperty),\r\n items: this.getCriteriaOfType(criterionType),\r\n })\r\n }\r\n }\r\n return selectedFilters;\r\n }\r\n\r\n\r\n get criteriasCount() {\r\n return this.criterias.reduce((acc, criteria) => criteria.items.length + acc, 0)\r\n }\r\n\r\n // Criterias\r\n get projectPhases(): { text: string, f: () => Partial }[] {\r\n return this.agent.type !== SearchItemTypes.PROJECT\r\n ? []\r\n : this.agent?.projectPhases?.filter((item) => item != null).map((item) => ({\r\n text: item.name,\r\n f: () => ({\r\n projectPhases: this.agent.projectPhases.filter((item0) => item0.id != item.id),\r\n }),\r\n }))\r\n }\r\n\r\n get procurementPhases(): { text: string, f: () => Partial }[] {\r\n return this.agent.type !== SearchItemTypes.PROCUREMENT\r\n ? []\r\n : this.agent?.procurementPhases?.filter((item) => item != null).map((item) => ({\r\n text: item.name,\r\n f: () => ({\r\n procurementPhases: this.agent.procurementPhases.filter(\r\n (item0) => item0.id != item.id),\r\n }),\r\n }))\r\n }\r\n\r\n get procurementTypes(): { text: string, f: () => Partial }[] {\r\n return this.agent.type !== SearchItemTypes.PROCUREMENT\r\n ? []\r\n : this.agent?.procurementTypes?.filter((item) => item != null).map((item) => ({\r\n text: item.name,\r\n f: () => ({\r\n procurementTypes: this.agent.procurementTypes.filter((item0) => item0.id != item.id),\r\n }),\r\n }))\r\n }\r\n\r\n get roles(): { text: string, f: () => Partial }[] {\r\n return this.agent?.roles?.filter((item) => item != null).map((item) => ({\r\n text: item.name,\r\n f: () => ({\r\n roles: this.agent.roles.filter((item0) => item0.id != item.id),\r\n }),\r\n }))\r\n }\r\n\r\n getCriteriaOfType(criterionType: CriterionType): { text: string | TranslateResult, f: () => Partial }[] {\r\n let criteria: { text: string | TranslateResult, f: () => Partial }[]\r\n = this.agent?.criteria?.filter(criterion => criterion != null && criterion.typeId === criterionType.id)\r\n .map((item) => ({\r\n text: item.name,\r\n f: () => ({\r\n criteria: this.agent.criteria.filter((item0) => item0.id != item.id),\r\n }),\r\n })) ?? [];\r\n if (this.agent?.allowUnusedCriterionTypes?.includes(criterionType.id) ?? false) {\r\n criteria.push({\r\n text: this.$t('pages.search.includeUnspecified', [\r\n this.$tc(criterionType.translationProperty, 1).toLowerCase(),\r\n ]),\r\n f: () => ({\r\n allowUnusedCriterionTypes: this.agent.allowUnusedCriterionTypes.filter((item0) => item0 !== criterionType.id),\r\n // allowUnusedCriterionTypes: this.agent.allowUnusedCriterionTypes !== undefined && this.agent.allowUnusedCriterionTypes !== null\r\n // ? (!this.agent.allowUnusedCriterionTypes.some(ct => ct == criterionType.id)\r\n // ? [...this.agent.allowUnusedCriterionTypes].concat(criterionType.id)\r\n // : this.agent.allowUnusedCriterionTypes)\r\n // : [criterionType.id],\r\n }),\r\n });\r\n }\r\n return criteria.filter(item => item != null);\r\n }\r\n\r\n get projectStartEnd(): { text: string | TranslateResult, f: () => Partial }[] {\r\n return [\r\n ...this.agent.projectStart?.map((item) => ({\r\n text: `${this.$t('general.criteria.startEndOptions.start')}: ${item}`,\r\n f: () => ({\r\n projectStart: this.agent.projectStart.filter((item0) => item != item0 ),\r\n }),\r\n })),\r\n ...this.agent.projectEnd?.map((item) => ({\r\n text: `${this.$t('general.criteria.startEndOptions.end')}: ${item}`,\r\n f: () => ({\r\n projectEnd: this.agent.projectEnd.filter((item0) => item != item0 ),\r\n }),\r\n })),\r\n this.agent?.allowUnspecifiedStartAndEnd == this.getInitialAgent().allowUnspecifiedStartAndEnd\r\n ? null\r\n : {\r\n text: this.$t('pages.search.includeUnspecified', [\r\n this.$t('general.criteria.startEnd').toString().toLowerCase(),\r\n ]),\r\n f: () => ({\r\n allowUnspecifiedStartAndEnd: this.getInitialAgent().allowUnspecifiedStartAndEnd,\r\n }),\r\n },\r\n ].filter((item) => item != null);\r\n }\r\n\r\n get estimatedSum(): { text: string | TranslateResult, f: () => Partial }[] {\r\n return [\r\n this.agent?.minBudget == this.getInitialAgent().minBudget\r\n ? null\r\n : {\r\n text: `Min. ${this.agent.minBudget / this.A_MILLION}`,\r\n f: () => ({\r\n minBudget: this.getInitialAgent().minBudget,\r\n }),\r\n },\r\n this.agent?.maxBudget == this.getInitialAgent().maxBudget\r\n ? null\r\n : {\r\n text: `Max. ${this.agent.maxBudget / this.A_MILLION}`,\r\n f: () => ({\r\n maxBudget: this.getInitialAgent().maxBudget,\r\n }),\r\n },\r\n this.agent?.allowUnspecifiedBudget == this.getInitialAgent().allowUnspecifiedBudget\r\n ? null\r\n : {\r\n text: this.$t('pages.search.includeUnspecified', [\r\n this.$t('general.criteria.estimatedSum').toString().toLowerCase(),\r\n ]),\r\n f: () => ({\r\n allowUnspecifiedBudget: this.getInitialAgent().allowUnspecifiedBudget,\r\n }),\r\n },\r\n ].filter((item) => item != null)\r\n }\r\n\r\n get sizeMetres(): { text: TranslateResult, f: () => Partial }[] {\r\n return [\r\n this.agent.minSizeMetres == this.getInitialAgent().minSizeMetres ? null : {\r\n text: `Min. ${this.agent.minSizeMetres}`,\r\n f: () => ({\r\n minSizeMetres: this.getInitialAgent().minSizeMetres,\r\n }),\r\n },\r\n this.agent.maxSizeMetres == this.getInitialAgent().maxSizeMetres ? null : {\r\n text: `Max. ${this.agent.maxSizeMetres}`,\r\n f: () => ({\r\n maxSizeMetres: this.getInitialAgent().maxSizeMetres,\r\n }),\r\n },\r\n ].filter((item) => item != null)\r\n }\r\n\r\n get sizeBuilding(): { text: TranslateResult, f: () => Partial }[] {\r\n return [\r\n this.agent.minSizeBuilding == this.getInitialAgent().minSizeBuilding ? null : {\r\n text: `Min. ${this.agent.minSizeBuilding}`,\r\n f: () => ({\r\n minSizeBuilding: this.getInitialAgent().minSizeBuilding,\r\n }),\r\n },\r\n this.agent.maxSizeBuilding == this.getInitialAgent().maxSizeBuilding ? null : {\r\n text: `Max. ${this.agent.maxSizeBuilding}`,\r\n f: () => ({\r\n maxSizeBuilding: this.getInitialAgent().maxSizeBuilding,\r\n }),\r\n },\r\n this.agent.allowUnspecifiedSize == this.getInitialAgent().allowUnspecifiedSize\r\n ? null\r\n : {\r\n text: this.$t('pages.search.includeUnspecified', [\r\n this.$t('general.criteria.sizeBuilding').toString().toLowerCase(),\r\n ]),\r\n f: () => ({\r\n allowUnspecifiedSize: this.getInitialAgent().allowUnspecifiedSize,\r\n }),\r\n },\r\n ].filter((item) => item != null)\r\n }\r\n\r\n get sizeGround(): { text: string, f: () => Partial }[] {\r\n return [\r\n this.agent.minSizeGround == this.getInitialAgent().minSizeGround ? null : {\r\n text: `Min. ${this.agent.minSizeGround}`,\r\n f: () => ({\r\n minSizeGround: this.getInitialAgent().minSizeGround,\r\n }),\r\n },\r\n this.agent.maxSizeGround == this.getInitialAgent().maxSizeGround ? null : {\r\n text: `Max. ${this.agent.maxSizeGround}`,\r\n f: () => ({\r\n maxSizeGround: this.getInitialAgent().maxSizeGround,\r\n }),\r\n },\r\n ].filter((item) => item != null)\r\n }\r\n\r\n get numberOfUnits(): { text: string, f: () => Partial }[] {\r\n return [\r\n this.agent.minNumberOfUnits == this.getInitialAgent().minNumberOfUnits ? null : {\r\n text: `Min. ${this.agent.minNumberOfUnits}`,\r\n f: () => ({\r\n minNumberOfUnits: this.getInitialAgent().minNumberOfUnits,\r\n }),\r\n },\r\n this.agent.maxNumberOfUnits == this.getInitialAgent().maxNumberOfUnits ? null : {\r\n text: `Max. ${this.agent.maxNumberOfUnits}`,\r\n f: () => ({\r\n maxNumberOfUnits: this.getInitialAgent().maxNumberOfUnits,\r\n }),\r\n },\r\n ].filter((item) => item != null)\r\n }\r\n\r\n get isPublic(): { text: string, f: () => Partial }[] {\r\n return this.agent.isPublic == this.getInitialAgent().isPublic ? [] : [\r\n {\r\n text: this.agent.isPublic\r\n ? this.$t('pages.search.publicPrivateOptions.public').toString()\r\n : this.$t('pages.search.publicPrivateOptions.private').toString(),\r\n f: () => ({ isPublic: this.getInitialAgent().isPublic }),\r\n },\r\n ];\r\n }\r\n\r\n // Events\r\n onClickBullet(item: { text: string, f: () => { [k in keyof Agent ]?: Agent[k] } }) {\r\n this.onUpdateAgent(item.f());\r\n // this.$vmx.search.updateAgent(item.f());\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-filter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-filter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agent-criteria-filter.vue?vue&type=template&id=2d644500&scoped=true&\"\nimport script from \"./agent-criteria-filter.vue?vue&type=script&lang=ts&\"\nexport * from \"./agent-criteria-filter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agent-criteria-filter.vue?vue&type=style&index=0&id=2d644500&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d644500\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ms-4\"},[_vm._l((_vm.years),function(year){return _c('div',{key:year},[_c('div',{staticClass:\"d-flex flex-wrap justify-content-start align-items-center\"},[_c('BaseDropdown',{staticClass:\"flex-grow-1 me-4\",attrs:{\"id\":(_vm.id + \"-dropdown\"),\"value\":year,\"size\":\"xs\",\"variant\":\"trademark-25\",\"padding-y\":\"1\",\"padding-x\":\"2\",\"button-style-classes\":\"roboto w-100\",\"options\":_vm.yearOptions,\"ul-class\":\"custom-scrollbar dropdown-overflow w-100\"},on:{\"input\":function (newYear) { return _vm.setYear(year, newYear); }},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"flex-grow-1 text-start ps-2\"},[_vm._v(\" \"+_vm._s(year.trim())+\" \")]),_c('FontAwesomeIcon',{staticClass:\"ms-3\",attrs:{\"icon\":['fal', 'chevron-down']}})],1)]},proxy:true}],null,true)}),_c('div',{staticClass:\"d-flex justify-content-end align-items-center\"},[_c('BaseInputSelect',{attrs:{\"value\":_vm.getQuarters(year),\"options\":_vm.quartersOptions,\"button-padding-x\":\"3\",\"button-padding-y\":\"1\",\"label-class\":\"lato-sm\"},on:{\"input\":function (quaters) { return _vm.setQuarters(year, quaters); }}}),(true)?_c('BaseButtonIcon',{attrs:{\"variant\":\"white\",\"icon-name\":\"times\",\"tool-tip-text\":_vm.$t('general.delete')},on:{\"click\":function () { return _vm.remove(year); }}}):_vm._e()],1)],1)])}),(_vm.getShowExtra)?_c('div',[_c('div',{staticClass:\"d-flex flex-wrap justify-content-start align-items-center\"},[_c('BaseDropdown',{staticClass:\"flex-grow-1 me-4\",attrs:{\"id\":(_vm.id + \"-extra-dropdown\"),\"value\":null,\"size\":\"xs\",\"variant\":\"trademark-25\",\"padding-y\":\"1\",\"padding-x\":\"2\",\"button-style-classes\":\"roboto w-100\",\"options\":_vm.yearOptions,\"ul-class\":\"custom-scrollbar dropdown-overflow w-100\"},on:{\"input\":_vm.addNewYear},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"d-flex align-items-center\"},[_c('div',{staticClass:\"flex-grow-1 text-start ps-2\"},[_vm._v(\"   \")]),_c('FontAwesomeIcon',{staticClass:\"ms-3\",attrs:{\"icon\":['fal', 'chevron-down']}})],1)]},proxy:true}],null,false,833736051)}),_c('div',{staticClass:\"d-flex justify-content-end align-items-center\"},[_c('BaseInputSelect',{attrs:{\"value\":null,\"options\":_vm.quartersOptions,\"disabled\":true,\"button-padding-x\":\"3\",\"button-padding-y\":\"1\",\"label-class\":\"lato-sm\"}}),(true)?_c('BaseButtonIcon',{staticClass:\"invisible\",attrs:{\"variant\":\"white\",\"icon-name\":\"times\",\"tool-tip-text\":_vm.$t('general.delete')}}):_vm._e()],1)],1)]):_vm._e(),(!_vm.getShowExtra)?_c('div',[_c('BaseButton',{attrs:{\"style-classes\":\"my-2 lato\",\"padding-y\":\"1\",\"padding-x\":\"2\",\"variant\":\"primary\"},on:{\"click\":function($event){_vm.showExtra = true}}},[_c('div',{staticClass:\"d-flex flex-row align-items-center\"},[_c('FontAwesomeIcon',{staticClass:\"me-md-2\",attrs:{\"icon\":['fal', 'plus']}}),_c('div',{staticClass:\"d-none d-sm-block\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.criteria.startEndOptions.addYear'))+\" \")])],1)])],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseButton',{attrs:{\"id\":_vm.id,\"size\":_vm.size,\"with-spinner\":false,\"variant\":_vm.variant,\"style-classes\":_vm.buttonStyleClasses,\"padding-x\":_vm.paddingX,\"padding-y\":_vm.paddingY,\"disabled\":_vm.disabled,\"bs-toggle\":\"dropdown\"},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu w-100\",class:_vm.ulClass},_vm._l((_vm.options),function(option){return _c('li',{key:option,staticClass:\"dropdown-item user-select-none clickable\",on:{\"click\":function($event){return _vm.setOption(option)}}},[_vm._t(option,function(){return [_vm._v(\" \"+_vm._s(_vm.show != null ? _vm.show(option) : option)+\" \")]})],2)}),0)]},proxy:true}],null,true)},[_vm._t(\"button\",function(){return [_c('span',{staticClass:\"me-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")])]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class BaseDropDown extends Vue {\r\n @VModel({ required: true }) model: string;\r\n @Prop({ required: true }) options: string[]\r\n @Prop({ default: null }) show: (val: string) => string;\r\n\r\n @Prop({ required: true }) id: number;\r\n\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: ''}) size: string;\r\n @Prop({ default: 'roboto rounded' }) buttonStyleClasses: string;\r\n @Prop({ default: 'outline-primary' }) variant: string;\r\n @Prop({ default: '' }) ulClass: string;\r\n @Prop() paddingX: string;\r\n @Prop() paddingY: string;\r\n\r\n setOption(option: string) {\r\n this.model = option;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-dropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-dropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-dropdown.vue?vue&type=template&id=5d3435bf&scoped=true&\"\nimport script from \"./base-dropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-dropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-dropdown.vue?vue&type=style&index=0&id=5d3435bf&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5d3435bf\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\nimport BaseDropdown from '@/components/dropdowns/base-dropdown.vue';\r\nimport moment from 'moment-timezone';\r\n\r\n@Component({\r\n components: {\r\n BaseDropdown,\r\n },\r\n})\r\nexport default class AgentCriteriaQuarterSelector extends Vue {\r\n @VModel() data: string[];\r\n @Prop({ required: true }) id: string;\r\n\r\n showExtra = false;\r\n\r\n addNewYear(year: string) {\r\n this.setQuarters(year, ['Q1', 'Q2', 'Q3', 'Q4'])\r\n this.showExtra = false;\r\n }\r\n\r\n setYear(oldYear: string, newYear: string) {\r\n this.data = this.data.map(\r\n (val) => val.slice(3, 7) == oldYear ? `${val.slice(0, 2)} ${newYear}` : val,\r\n )\r\n }\r\n\r\n remove(year: string) {\r\n this.data = this.data.filter((val) => val.slice(3, 7) !== year);\r\n }\r\n\r\n get getShowExtra() {\r\n return this.showExtra || this.data == null || this.data.length == 0;\r\n }\r\n\r\n get years() {\r\n return this.data.map((val) => val.slice(3, 7)).reduce(\r\n (acc, val) => acc.some((val0) => val0 === val) ? acc : [val, ...acc],\r\n [] as string[],\r\n ).sort((a, b) => a < b ? 1 : -1);\r\n }\r\n\r\n get yearOptions(): string[] {\r\n const currentYear = parseInt(moment().format('YYYY')) - 3;\r\n return Array.from(Array(23).keys())\r\n .map((i) => currentYear + i)\r\n .map((year) => year.toString())\r\n .filter((year) => this.years.every((year0) => year0 != year));\r\n }\r\n\r\n get quartersOptions() {\r\n return ['Q1', 'Q2', 'Q3', 'Q4'] as const;\r\n }\r\n\r\n getQuarters(year: string): ('Q1' | 'Q2' | 'Q3' | 'Q4')[] {\r\n return this.data\r\n .filter((val) => val.slice(3,7) === year)\r\n .map((val) => val.slice(0, 2)) as ('Q1' | 'Q2' | 'Q3' | 'Q4')[];\r\n }\r\n\r\n setQuarters(year: string, quarters: ('Q1' | 'Q2' | 'Q3' | 'Q4')[]) {\r\n this.data = this.data\r\n .filter((val) => val.slice(3, 7) !== year)\r\n .concat(quarters.map((quarter) => `${quarter} ${year}`))\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-quarter-selector.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-quarter-selector.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agent-criteria-quarter-selector.vue?vue&type=template&id=20b4fb79&scoped=true&\"\nimport script from \"./agent-criteria-quarter-selector.vue?vue&type=script&lang=ts&\"\nexport * from \"./agent-criteria-quarter-selector.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agent-criteria-quarter-selector.vue?vue&type=style&index=0&id=20b4fb79&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20b4fb79\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex-column w-90 justify-content-center align-items-center\"},[_c('div',[_c('vue-slider',{staticClass:\"pb-5 mt-3\",attrs:{\"min\":_vm.min,\"max\":_vm.max,\"tooltip\":\"none\",\"drag-on-click\":true,\"width\":\"100%\",\"marks\":( _obj = {}, _obj[_vm.min] = _vm.min, _obj[_vm.max] = _vm.max, _obj )},on:{\"drag-end\":_vm.onSliderDragEnd},model:{value:(_vm.range),callback:function ($$v) {_vm.range=$$v},expression:\"range\"}})],1),_c('div',{staticClass:\"input-group pb-1\"},[_c('span',{staticClass:\"input-group-text lato-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.min'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.minInputValue),expression:\"minInputValue\"}],ref:\"minInput\",staticClass:\"form-control\",attrs:{\"min\":_vm.min,\"max\":_vm.max,\"type\":\"number\"},domProps:{\"value\":(_vm.minInputValue)},on:{\"keydown\":_vm.onKeydown,\"input\":function($event){if($event.target.composing){ return; }_vm.minInputValue=$event.target.value}}}),_c('span',{staticClass:\"input-group-text lato-sm\"},[_vm._t(\"format-text\",function(){return [_vm._v(_vm._s(_vm.formatText))]})],2)]),_c('div',{staticClass:\"input-group pt-1\"},[_c('span',{staticClass:\"input-group-text lato-sm\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.max'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.maxInputValue),expression:\"maxInputValue\"}],ref:\"maxInput\",staticClass:\"form-control bg-trademark-25\",attrs:{\"min\":_vm.min,\"max\":_vm.max,\"type\":\"number\",\"lang\":\"da\"},domProps:{\"value\":(_vm.maxInputValue)},on:{\"keydown\":_vm.onKeydown,\"input\":function($event){if($event.target.composing){ return; }_vm.maxInputValue=$event.target.value}}}),_c('span',{staticClass:\"input-group-text lato-sm\"},[_vm._t(\"format-text\",function(){return [_vm._v(_vm._s(_vm.formatText))]})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class AgentCriteriaRange extends Vue {\r\n @VModel() model: [number, number];\r\n @Prop({ required: true }) max: number;\r\n @Prop({ required: true }) min: number;\r\n @Prop({ default: 'missing' }) formatText: string;\r\n @Ref() minInput: HTMLInputElement;\r\n @Ref() maxInput: HTMLInputElement;\r\n\r\n readonly INPUT_TIMEOUT = 3000;\r\n\r\n rangeValue: [number, number] = null;\r\n dbounseTimer: ReturnType = null;\r\n\r\n get range() {\r\n if (this.rangeValue == null) {\r\n this.rangeValue = [\r\n Math.min(this.max, Math.max(this.min, this.model?.[0] ?? this.min)),\r\n Math.min(this.max, Math.max(this.min, this.model?.[1] ?? this.max)),\r\n ]\r\n }\r\n\r\n return this.rangeValue;\r\n }\r\n\r\n set range(val) {\r\n this.rangeValue = [\r\n Math.max(this.min, Math.min(this.max, val[0])),\r\n Math.max(this.min, Math.min(this.max, val[1])),\r\n ];\r\n }\r\n\r\n get minInputValue() {\r\n return this.rangeValue[0];\r\n }\r\n\r\n set minInputValue(val) {\r\n if (val > this.range[1]) {\r\n this.maxInput.focus();\r\n }\r\n this.range = [val, this.range[1]]\r\n this.onInputChange();\r\n }\r\n\r\n get maxInputValue() {\r\n return this.rangeValue[1];\r\n }\r\n\r\n set maxInputValue(val) {\r\n if (val < this.range[0]) {\r\n this.minInput.focus();\r\n }\r\n this.range = [this.range[0], val]\r\n this.onInputChange();\r\n }\r\n\r\n @Watch('model')\r\n onModelChange() {\r\n this.range = [\r\n this.model[0] ?? this.min,\r\n this.model[1] ?? this.max,\r\n ];\r\n }\r\n\r\n onSliderDragEnd() {\r\n this.model = this.rangeValue;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent) {\r\n if (event.key === 'Enter') {\r\n this.model = this.rangeValue;\r\n if (this.dbounseTimer != null) {\r\n clearTimeout(this.dbounseTimer);\r\n this.dbounseTimer = null;\r\n }\r\n return\r\n }\r\n if (this.dbounseTimer != null) {\r\n clearTimeout(this.dbounseTimer);\r\n\r\n this.dbounseTimer = setTimeout(() => {\r\n this.model = this.rangeValue;\r\n this.dbounseTimer = null;\r\n }, this.INPUT_TIMEOUT)\r\n }\r\n }\r\n\r\n onInputChange() {\r\n if (this.dbounseTimer != null) {\r\n clearTimeout(this.dbounseTimer);\r\n }\r\n\r\n this.dbounseTimer = setTimeout(() => {\r\n this.model = this.rangeValue;\r\n this.dbounseTimer = null;\r\n }, this.INPUT_TIMEOUT)\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-range.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-range.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agent-criteria-range.vue?vue&type=template&id=09d5263a&scoped=true&\"\nimport script from \"./agent-criteria-range.vue?vue&type=script&lang=ts&\"\nexport * from \"./agent-criteria-range.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09d5263a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"criterion-tree row ps-3\"},_vm._l((_vm.criterionOptions),function(criterion){return _c('div',{key:criterion.id},[_c('div',{class:(\"d-flex align-items-center py-\" + _vm.yPadding)},[_c('BaseFoldMenu',{attrs:{\"text-class\":\"ms-1 mt-1\",\"invisible\":criterion.children == null || criterion.children.length == 0,\"disabled\":_vm.isDisabled == null ? false : _vm.isDisabled(criterion)},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_c('div',{staticClass:\"form-check\"},[_c('input',{staticClass:\"form-check-input me-2\",attrs:{\"id\":(\"criteria-tree_\" + (criterion.name)),\"disabled\":_vm.isDisabled == null ? false : _vm.isDisabled(criterion),\"type\":\"checkbox\"},domProps:{\"checked\":_vm.isChecked(criterion)},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.click(criterion); }).apply(null, arguments)}}}),_c('label',{staticClass:\"form-check-label fw-normal mb-0\",attrs:{\"for\":(\"criteria-tree_\" + (criterion.name))},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return (function () { return _vm.click(criterion); }).apply(null, arguments)}}},[_c('span',[_vm._v(_vm._s(criterion.name))]),(_vm.criteriaCountRecord != null && (_vm.isDisabled == null || !_vm.isDisabled(criterion)))?_c('span',{staticClass:\"ms-1 grey\"},[_vm._v(\" (\"+_vm._s(_vm.getCriterionCount(criterion))+\") \")]):_vm._e()])])]},proxy:true}],null,true)},[(criterion.children != null && criterion.children.length != 0)?_c('div',[_c('CriterionTree',{attrs:{\"checked-criteria\":_vm.checkedCriteria,\"type-id\":_vm.typeId,\"criterion-options\":criterion.children,\"is-disabled\":_vm.isDisabled},on:{\"input\":_vm.updateCriteriaTre}})],1):_vm._e()])],1)])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue';\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\n\r\n\r\n@Component({\r\n name: 'CriterionTree',\r\n components: {\r\n CriterionTree,\r\n BaseFoldMenu,\r\n },\r\n})\r\nexport default class CriterionTree extends Vue {\r\n @Prop({ required: true }) checkedCriteria: Criterion[];\r\n @Prop({ required: true }) typeId: number;\r\n @Prop({ required: true }) criterionOptions: Criterion[];\r\n @Prop({ default: null }) isDisabled: (criterion: Criterion) => boolean;\r\n\r\n @Prop({ default: 2 }) yPadding: number;\r\n\r\n get criteriaCountRecord() {\r\n return this.$vmx.search.searchItemPage?.criterionCount ?? null;\r\n }\r\n\r\n updateCriteriaTre(newCheckedCriteria: Criterion[], typeId: number) {\r\n this.$emit('input', newCheckedCriteria, typeId);\r\n }\r\n\r\n getCriterionCount(criterion: Criterion): number {\r\n if (criterion.children == null || criterion.children.length == 0) {\r\n return this.criteriaCountRecord != null && this.criteriaCountRecord[criterion.id] != null\r\n ? this.criteriaCountRecord[criterion.id]\r\n : 0\r\n }\r\n\r\n return criterion.children?.reduce(\r\n (acc, child) => acc + this.getCriterionCount(child),\r\n this.criteriaCountRecord != null && this.criteriaCountRecord[criterion.id] != null\r\n ? this.criteriaCountRecord[criterion.id]\r\n : 0,\r\n );\r\n }\r\n\r\n isChecked(criterion: Criterion): boolean {\r\n return this.checkedCriteria.some((criterion0) => criterion0.id === criterion.id);\r\n }\r\n\r\n click(criterion: Criterion) {\r\n const isChecked = this.isChecked(criterion);\r\n\r\n const subs = this.findChildren(criterion).filter(\r\n (sub) => this.isChecked(sub) === isChecked,\r\n );\r\n\r\n let newCheckedCriteria: Criterion[] = [];\r\n if (isChecked) {\r\n newCheckedCriteria = this.checkedCriteria.filter((criteria0) =>\r\n !subs.some((sub) => sub.id === criteria0.id),\r\n )\r\n } else {\r\n newCheckedCriteria = [ ...this.checkedCriteria, ...subs ];\r\n }\r\n\r\n this.$emit('input', newCheckedCriteria, this.typeId);\r\n }\r\n\r\n private findChildren(criteria: Criterion): Criterion[] {\r\n const children = criteria?.children?.flatMap(this.findChildren);\r\n return [ criteria, ...(children ?? [])]\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./criterion-tree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./criterion-tree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./criterion-tree.vue?vue&type=template&id=3541c0ee&scoped=true&\"\nimport script from \"./criterion-tree.vue?vue&type=script&lang=ts&\"\nexport * from \"./criterion-tree.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3541c0ee\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport AgentCriteriaFilter from './agent-criteria-filter.vue'\r\nimport AgentCriteriaQuarterSelector from './agent-criteria-quarter-selector.vue'\r\nimport AgentCriteriaRange from './agent-criteria-range.vue'\r\nimport BaseDropDown from '/src/components/dropdowns/base-dropdown.vue'\r\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\r\nimport CriteriaTree from './criteria-tree.vue'\r\nimport { Criterion } from '@/interfaces/criterias/criterion';\r\nimport CriterionTree from './criterion-tree.vue';\r\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\r\nimport { Role } from '@/interfaces/criterias/role';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport { SearchItemTypes } from '@/util/enums/search-item-types';\r\n\r\n@Component({\r\n components: {\r\n SearchInput,\r\n AgentCriteriaFilter,\r\n AgentCriteriaRange,\r\n CriteriaTree,\r\n CriterionTree,\r\n BaseFoldMenu,\r\n AgentCriteriaQuarterSelector,\r\n BaseDropDown,\r\n },\r\n})\r\nexport default class AgentCriteriaMenu extends Vue {\r\n @Prop({ default: null }) onUpdateAgent: (agent: Partial) => void;\r\n\r\n readonly A_MILLION = 1000000;\r\n\r\n readonly BUDGET_MIN = 0;\r\n readonly BUDGET_MAX = 3000;\r\n\r\n readonly BUILDING_MIN = 0;\r\n readonly BUILDING_MAX = 1000000;\r\n\r\n readonly GROUND_MIN = 0;\r\n readonly GROUND_MAX = 1000000;\r\n\r\n readonly METRES_MIN = 0;\r\n readonly METRES_MAX = 1000000;\r\n\r\n readonly UNITS_MIN = 0;\r\n readonly UNITS_MAX = 100000;\r\n\r\n get agent() {\r\n return this.$vmx.search.agent;\r\n }\r\n\r\n get page() {\r\n return this.$vmx.search.searchItemPage;\r\n }\r\n\r\n // Project Phase\r\n get projectPhases() {\r\n return this.agent.projectPhases;\r\n }\r\n\r\n set projectPhases(projectPhases) {\r\n this.onUpdateAgent({ projectPhases });\r\n }\r\n\r\n get projectPhaseCount() {\r\n return this.page?.projectPhaseCount\r\n }\r\n\r\n isProjectPhaseDisabled(projectPhase: ProjectPhase) {\r\n return this.agent.type !== SearchItemTypes.PROJECT\r\n && this.$vmx.user.user.product.allowedProjectPhases.every(pp => projectPhase.index != pp.index)\r\n }\r\n\r\n // Procurement Phase\r\n get procurementPhases() {\r\n return this.agent.procurementPhases;\r\n }\r\n\r\n set procurementPhases(procurementPhases) {\r\n this.onUpdateAgent({ procurementPhases });\r\n }\r\n\r\n get roles() {\r\n return this.agent.roles;\r\n }\r\n\r\n set roles(roles: Role[]) {\r\n this.onUpdateAgent({ roles });\r\n }\r\n\r\n updateCriteria(criteria: Criterion[], typeId: number) {\r\n var agentCriteria = this.agent.criteria?.filter(criterion => criterion.typeId !== typeId) ?? [];\r\n agentCriteria = agentCriteria.concat(criteria);\r\n this.onUpdateAgent({ criteria: agentCriteria });\r\n }\r\n \r\n getAgentCriteriaOfType(typeId: number) {\r\n return this.agent.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\r\n }\r\n\r\n getAllowUnspecifiedType(typeId: number) {\r\n if (!this.agent.allowUnusedCriterionTypes) {\r\n this.agent.allowUnusedCriterionTypes = [];\r\n }\r\n return this.agent.allowUnusedCriterionTypes.some(n => n === typeId);\r\n }\r\n\r\n updateAllowUnspecifiedType(typeId: number, checked: boolean) {\r\n const allowed = [...this.agent.allowUnusedCriterionTypes];\r\n if (checked) {\r\n if (!allowed.some(n => n === typeId)) {\r\n allowed.push(typeId);\r\n }\r\n } else {\r\n const index = allowed.indexOf(typeId, 0);\r\n if (index > -1) {\r\n allowed.splice(index, 1);\r\n }\r\n }\r\n this.onUpdateAgent({allowUnusedCriterionTypes: allowed});\r\n }\r\n\r\n getTypeIdFromTranslation(translation: string): number {\r\n return this.$vmx.criterion.criterionTypeFromTranslation(translation).id;\r\n }\r\n\r\n disableRoleFunc(role: AbstractCriteria): boolean {\r\n return (role as Role).allowedItemTypes === undefined\r\n || !(role as Role).allowedItemTypes.includes(this.$vmx.search.agent.type);\r\n }\r\n\r\n\r\n // Procurement Types\r\n get procurementTypes() {\r\n return this.agent.procurementTypes;\r\n }\r\n\r\n set procurementTypes(procurementTypes) {\r\n this.onUpdateAgent({ procurementTypes })\r\n }\r\n\r\n // Project Start/End\r\n get projectStart() {\r\n return this.agent.projectStart;\r\n }\r\n\r\n set projectStart(val) {\r\n this.onUpdateAgent({\r\n projectStart: val,\r\n })\r\n }\r\n\r\n get projectEnd() {\r\n return this.agent.projectEnd;\r\n }\r\n\r\n set projectEnd(val) {\r\n this.onUpdateAgent({\r\n projectEnd: val,\r\n })\r\n }\r\n\r\n get allowUnspecifiedStartAndEnd() {\r\n return this.agent.allowUnspecifiedStartAndEnd;\r\n }\r\n\r\n set allowUnspecifiedStartAndEnd(val) {\r\n this.onUpdateAgent({\r\n allowUnspecifiedStartAndEnd: val,\r\n })\r\n }\r\n\r\n // Budget\r\n get budget() {\r\n return [\r\n this.agent.minBudget == null ? null : this.agent.minBudget / this.A_MILLION,\r\n this.agent.maxBudget == null ? null : this.agent.maxBudget / this.A_MILLION,\r\n ] as const;\r\n }\r\n\r\n set budget(val) {\r\n this.onUpdateAgent({\r\n minBudget: val[0] == this.BUDGET_MIN ? null : val[0] * this.A_MILLION,\r\n maxBudget: val[1] == this.BUDGET_MAX ? null : val[1] * this.A_MILLION,\r\n });\r\n }\r\n\r\n get allowUnspecifiedBudget() {\r\n return this.agent.allowUnspecifiedBudget;\r\n }\r\n\r\n set allowUnspecifiedBudget(val) {\r\n this.onUpdateAgent({\r\n allowUnspecifiedBudget: val,\r\n })\r\n }\r\n\r\n // Size Building\r\n get sizeBuilding() {\r\n return [this.agent.minSizeBuilding, this.agent.maxSizeBuilding]\r\n }\r\n\r\n set sizeBuilding([min, max]) {\r\n this.onUpdateAgent({\r\n minSizeBuilding: min === this.BUILDING_MIN ? null : min,\r\n maxSizeBuilding: max === this.BUILDING_MAX ? null : max,\r\n });\r\n }\r\n\r\n get allowUnspecifiedSize() {\r\n return this.agent.allowUnspecifiedSize;\r\n }\r\n\r\n set allowUnspecifiedSize(val) {\r\n this.onUpdateAgent({\r\n allowUnspecifiedSize: val,\r\n });\r\n }\r\n\r\n // Size Ground\r\n get sizeGround() {\r\n return [this.agent.minSizeGround, this.agent.maxSizeGround];\r\n }\r\n\r\n set sizeGround([min, max]) {\r\n this.onUpdateAgent({\r\n minSizeGround: min === this.GROUND_MIN ? null : min,\r\n maxSizeGround: max === this.GROUND_MAX ? null : max,\r\n });\r\n }\r\n\r\n get numberOfUnits() {\r\n return [this.agent.minNumberOfUnits, this.agent.maxNumberOfUnits];\r\n }\r\n\r\n set numberOfUnits([min, max]) {\r\n this.onUpdateAgent({\r\n minNumberOfUnits: min === this.UNITS_MIN ? null : min,\r\n maxNumberOfUnits: max === this.UNITS_MAX ? null : max,\r\n })\r\n }\r\n\r\n // Public/Private\r\n get isPublic() {\r\n return this.agent.isPublic === true ? 'isPublic' : this.agent.isPublic === false ? 'isPrivate' : 'isBoth'\r\n }\r\n\r\n set isPublic(val) {\r\n this.onUpdateAgent({\r\n isPublic: val === 'isPublic' ? true : val === 'isPrivate' ? false : null,\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./agent-criteria-menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./agent-criteria-menu.vue?vue&type=template&id=477fdf61&scoped=true&\"\nimport script from \"./agent-criteria-menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./agent-criteria-menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./agent-criteria-menu.vue?vue&type=style&index=0&id=477fdf61&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"477fdf61\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-agent-replace\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.agent.replace.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},_vm._l((_vm.agents),function(agent){return _c('BaseInputRadio',{key:agent.id,attrs:{\"radio-value\":agent,\"text\":agent.name},model:{value:(_vm.chosenAgent),callback:function ($$v) {_vm.chosenAgent=$$v},expression:\"chosenAgent\"}})}),1),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.agent.replace.createNewButton'))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n ModalAgentSettings,\r\n },\r\n})\r\nexport default class ModalAgentReplace extends Vue {\r\n chosenAgent: Agent = null;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get agent(): Agent {\r\n return this.$vmx.modal.agent;\r\n }\r\n\r\n get agents(): Agent[] {\r\n return this.$vmx.agent.agents;\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.AGENT_REPLACE_MODAL;\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.agent) {\r\n this.hideModal();\r\n return;\r\n }\r\n if (this.agents != null && this.agents.length > 0) {\r\n this.chosenAgent = this.agents[0];\r\n }\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n async submit() {\r\n this.submitting = true;\r\n try {\r\n let updatedAgent = {...this.agent};\r\n updatedAgent.name = this.chosenAgent.name;\r\n updatedAgent.id = this.chosenAgent.id;\r\n updatedAgent.mailTime = this.chosenAgent.mailTime;\r\n updatedAgent.paUserIds = this.chosenAgent.paUserIds;\r\n\r\n this.$vmx.agent.pushAgent(updatedAgent);\r\n\r\n this.error = false;\r\n this.submitting = false;\r\n this.$emit('agentSaved', updatedAgent);\r\n this.hideModal();\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n openSettingsModal() {\r\n this.$vmx.modal.openAgentSettingsModal(this.agent);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-replace.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-replace.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-agent-replace.vue?vue&type=template&id=219dd514&scoped=true&\"\nimport script from \"./modal-agent-replace.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-agent-replace.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"219dd514\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.pageCount > 1)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-auto\"},[_c('ul',{staticClass:\"d-flex align-items-center\"},[(_vm.page != 1)?_c('li',[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"chevron-double-left\",\"variant\":\"transparent\",\"size\":\"sm\",\"tool-tip-text\":_vm.$t('pages.search.previousTooltip')},on:{\"click\":function($event){return _vm.emitPageChange(_vm.page - 1)}}}),(_vm.page != 1)?_c('span',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page - 1)}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.previous'))+\" \")]):_vm._e()],1)]):_vm._e(),_c('li',{attrs:{\"id\":\"page-navigation-bar\"}},[_c('ul',{staticClass:\"px-0\"},[_c('li',{class:_vm.underlineIfCurrentPage(1),on:{\"click\":function($event){return _vm.emitPageChange(1)}}},[_vm._v(\" 1 \")]),(_vm.page > 3)?_c('li',{staticClass:\"not-clickable\"},[_vm._v(\" … \")]):_vm._e(),(_vm.page == _vm.pageCount && _vm.page > 3)?_c('li',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page - 2)}}},[_vm._v(\" \"+_vm._s(_vm.page - 2)+\" \")]):_vm._e(),(_vm.page >= 3)?_c('li',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page - 1)}}},[_vm._v(\" \"+_vm._s(_vm.page - 1)+\" \")]):_vm._e(),(_vm.page != 1 && _vm.page != _vm.pageCount)?_c('li',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page)}}},[_c('span',{staticClass:\"border-bottom border-2 border-dark\"},[_vm._v(\" \"+_vm._s(_vm.page)+\" \")])]):_vm._e(),(_vm.pageCount > _vm.page + 1)?_c('li',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page + 1)}}},[_vm._v(\" \"+_vm._s(_vm.page + 1)+\" \")]):_vm._e(),(_vm.page == 1 && _vm.pageCount > _vm.page + 2)?_c('li',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page + 2)}}},[_vm._v(\" \"+_vm._s(_vm.page + 2)+\" \")]):_vm._e(),(_vm.pageCount >= _vm.page + 3)?_c('li',{staticClass:\"not-clickable\"},[_vm._v(\" … \")]):_vm._e(),_c('li',{class:_vm.underlineIfCurrentPage(_vm.pageCount),on:{\"click\":function($event){return _vm.emitPageChange(_vm.pageCount)}}},[_vm._v(\" \"+_vm._s(_vm.pageCount)+\" \")])])]),(_vm.page != _vm.pageCount)?_c('li',[_c('div',{staticClass:\"d-flex align-items-center\"},[(_vm.page != 1)?_c('span',{on:{\"click\":function($event){return _vm.emitPageChange(_vm.page + 1)}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.search.next'))+\" \")]):_vm._e(),_c('BaseButtonIcon',{attrs:{\"icon-name\":\"chevron-double-right\",\"variant\":\"transparent\",\"size\":\"sm\",\"tool-tip-text\":_vm.$t('pages.search.nextTooltip')},on:{\"click\":function($event){return _vm.emitPageChange(_vm.page + 1)}}})],1)]):_vm._e()])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class PageNavigationBar extends Vue {\r\n @VModel() page: number;\r\n @Prop({ required: true }) pageCount: number;\r\n // @Prop({ required: true }) page: SearchItemPage;\r\n\r\n emitPageChange(newPage: number) {\r\n this.page = newPage;\r\n this.$emit('pageChanged', newPage);\r\n }\r\n\r\n underlineIfCurrentPage(number: number) {\r\n return this.page == number ? 'underline' : ''\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page-navigation-bar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./page-navigation-bar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./page-navigation-bar.vue?vue&type=template&id=022a179b&scoped=true&\"\nimport script from \"./page-navigation-bar.vue?vue&type=script&lang=ts&\"\nexport * from \"./page-navigation-bar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./page-navigation-bar.vue?vue&type=style&index=0&id=022a179b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"022a179b\",\n null\n \n)\n\nexport default component.exports","import * as blacklistUtil from '@/util/blacklist-utils';\r\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport AgentCriteriaMenu from '@/components/search-components/agent-criteria-menu.vue';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\r\nimport { FreeSearchTypes } from '@/util/enums/free-search-types';\r\nimport ModalAgentReplace from '@/components/modals/modal-agent-replace.vue';\r\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\r\nimport PageNavigationBar from '@/components/search-components/page-navigation-bar.vue';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { Project } from '@/interfaces/project';\r\nimport SearchInput from '@/components/form-fields/search-input.vue';\r\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\r\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\r\nimport { SearchItemTypes } from '@/util/enums/search-item-types';\r\nimport SearchStore from '@/store/modules/search-store';\r\n\r\n\r\n@Component({\r\n name: 'searchView',\r\n components: {\r\n AgentCriteriaMenu,\r\n DropdownOrderBy,\r\n ModalAgentReplace,\r\n ModalAgentSettings,\r\n PageNavigationBar,\r\n SearchInput,\r\n SearchItemCard,\r\n SearchItemsListView,\r\n },\r\n})\r\nexport default class SearchView extends Vue {\r\n @Prop({ required: true }) page: string;\r\n private isListView = false;\r\n \r\n\r\n\r\n @Ref() readonly results: Element;\r\n\r\n orderByOptions: [string, string][] = [\r\n [SearchStore.orderByOptions.published, this.$t('components.sorting.published') as string],\r\n [SearchStore.orderByOptions.updated, this.$t('components.sorting.updated') as string],\r\n [SearchStore.orderByOptions.budget, this.$t('components.sorting.contractSum') as string],\r\n [SearchStore.orderByOptions.bestMatch, this.$t('components.sorting.bestMatch') as string],\r\n ];\r\n\r\n mounted() {\r\n const page = Number.parseInt(this.page);\r\n\r\n if (page == 0) {\r\n this.$router.push({\r\n params: { page: this.$vmx.search.page.toString() },\r\n });\r\n }\r\n\r\n if (page != this.$vmx.search.page) {\r\n this.$vmx.search.setPage(Number.parseInt(this.page));\r\n }\r\n }\r\n\r\n get loading() {\r\n return this.$vmx.search.searchItemPage?.results == null;\r\n }\r\n\r\n // Store Getters\r\n get agent(): Agent {\r\n return this.$vmx.search.agent;\r\n }\r\n\r\n get dropdownOptions(): string[] {\r\n return Object.values(FreeSearchTypes);\r\n }\r\n\r\n get dropdownSelect(): string {\r\n return this.$vmx.search.agent.freeSearchType;\r\n }\r\n\r\n get searchItemPage() {\r\n return this.$vmx.search.searchItemPage;\r\n }\r\n\r\n get searchItemPageResults() {\r\n return this.$vmx.search.searchItemPage?.results;\r\n }\r\n\r\n get totalResults() {\r\n if (this.$vmx.search.searchItemPage == null) {\r\n return '-'.repeat(20);\r\n }\r\n return this.$tc('pages.search.results', this.$vmx.search.searchItemPage.totalResults, [\r\n this.$vmx.search.searchItemPage.totalResults,\r\n ]);\r\n }\r\n\r\n // FreeSearch\r\n get freeSearch(): string {\r\n return this.$vmx.search.agent.freeSearch ?? '';\r\n }\r\n\r\n set freeSearch(freeSearch: string) {\r\n this.$vmx.search.setAgent({\r\n ...this.$vmx.search.agent,\r\n freeSearch: freeSearch,\r\n });\r\n }\r\n \r\n // isProject\r\n get isProject() {\r\n return this.agent.type;\r\n }\r\n\r\n set isProject(val: SearchItemTypes) {\r\n const filteredCriteria = this.$vmx.search.agent.criteria?.filter(criterion =>\r\n criterion.allowedItemTypes.includes(val),\r\n ) ?? [];\r\n\r\n const filteredRoles = this.$vmx.search.agent.roles?.filter(role =>\r\n role.allowedItemTypes.includes(val),\r\n ) ?? [];\r\n\r\n this.onUpdateAgent({\r\n type: val,\r\n criteria: filteredCriteria,\r\n roles: filteredRoles,\r\n }, null)\r\n }\r\n\r\n get orderBy(): string {\r\n return this.orderByOptions.find(x => x[0] === this.$vmx.search.orderBy)[1];\r\n }\r\n\r\n set orderBy(orderBy: string) {\r\n const index = this.orderByOptions.findIndex(x => x[1] === orderBy)\r\n this.$vmx.search.setOrderBy(this.orderByOptions[index][0]);\r\n if (this.pageNumber > 1) {\r\n this.pageNumber = 1;\r\n }\r\n }\r\n\r\n // orderByDescending\r\n get orderByDesc() {\r\n if (this.$vmx.search.orderBy == 'bestMatch') {\r\n return null;\r\n }\r\n return this.$vmx.search.orderByDesc ? 'desc' : 'asc';\r\n }\r\n\r\n set orderByDesc(val) {\r\n this.$vmx.search.setOrderByDesc(val === 'desc');\r\n if (this.pageNumber > 1) {\r\n this.pageNumber = 1;\r\n }\r\n }\r\n\r\n // listView\r\n\r\n get listView() {\r\n return this.isListView ? 'card' : 'list';\r\n }\r\n\r\n set listView(val) {\r\n this.isListView = val === 'card';\r\n }\r\n\r\n // pageNumber\r\n get pageNumber() {\r\n return this.$vmx.search.page;\r\n }\r\n\r\n set pageNumber(page: number) {\r\n if (page === this.$vmx.search.page) {\r\n return;\r\n }\r\n\r\n this.$router\r\n .push({\r\n params: { page: page.toString() },\r\n })\r\n .then(() => {\r\n this.results?.scrollIntoView();\r\n });\r\n }\r\n\r\n get pageCount() {\r\n return this.$vmx.search.searchItemPage?.pageCount ?? 0;\r\n }\r\n\r\n\r\n @Watch('page')\r\n pageChanged() {\r\n const page = Number.parseInt(this.page);\r\n\r\n if (isNaN(page) || page == this.$vmx.search.page) {\r\n return;\r\n }\r\n\r\n if (page == 0) {\r\n this.$router.push({\r\n params: { page: this.$vmx.search.page.toString() },\r\n });\r\n return;\r\n }\r\n this.$vmx.search.setPage(page);\r\n }\r\n\r\n updateAgent() {\r\n if (this.pageNumber > 1) {\r\n this.$router.push({\r\n params: {\r\n page: '1',\r\n },\r\n });\r\n }\r\n }\r\n\r\n freeSearchType(freeSearchType: string) {\r\n if (!freeSearchType) {\r\n freeSearchType = FreeSearchTypes.NORMAL;\r\n }\r\n this.$vmx.search.setAgent({\r\n ...this.$vmx.search.agent,\r\n freeSearchType: freeSearchType,\r\n });\r\n }\r\n\r\n filterFunc(val: Procurement | Project): boolean {\r\n return !blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\r\n }\r\n\r\n async onPersistBlacklist(blacklist: Blacklist): Promise {\r\n return this.$vmx.blacklist.pushBlacklist(blacklist);\r\n }\r\n\r\n agentSaved(savedAgent: Agent) {\r\n this.$vmx.search.setAgent(savedAgent);\r\n }\r\n\r\n agentDeleted() {\r\n this.agent.id = null;\r\n }\r\n\r\n openAgentReplaceModal() {\r\n this.$vmx.modal.openAgentReplaceModal(this.agent);\r\n }\r\n\r\n openAgentSettingsModal() {\r\n this.$vmx.modal.openAgentSettingsModal(this.agent);\r\n }\r\n\r\n onUpdateAgent(agent: Partial, typeId?: number) {\r\n if (agent.criteria && typeId) {\r\n this.$vmx.search.updateCriteriaForType({ criteria: agent.criteria, typeId })\r\n } else {\r\n this.$vmx.search.updateAgent({\r\n id: null,\r\n ...agent,\r\n });\r\n }\r\n if (this.pageNumber > 1) {\r\n this.pageNumber = 1;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./search-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-view.vue?vue&type=template&id=3660fa6e&\"\nimport script from \"./search-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./search-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./search-view.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.settings.title'))+\" \")]},proxy:true}])},[_c('FormUserSettings')],1)],1),_c('div',{staticClass:\"col-12 col-lg-6\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.changePassword.title'))+\" \")]},proxy:true}])},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.changePassword.text'))+\" \")]),_c('div',{staticClass:\"row gy-2\"},[(_vm.showEmailSent)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.changePassword.changedText'))+\" \")])],1):_vm._e(),(_vm.showEmailSentError)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.changePassword.errorText'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.changePassword}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.changePassword.buttonText'))+\" \")])],1)])])])],1),_c('div',{staticClass:\"col-12\"},[_c('BaseContainer',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.subscription.title'))+\" \")]},proxy:true}])},[_c('p',{staticClass:\"link-override\",domProps:{\"innerHTML\":_vm._s(_vm.$t('pages.userSettings.subscription.text', [_vm.user.product.name]))}}),(_vm.showCancelSent)?_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.subscription.cancelText'))+\" \")]):(_vm.showChangeSent)?_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.subscription.changedText'))+\" \")]):_c('div',{staticClass:\"row justify-content-start\"},[_c('div',{staticClass:\"col-auto\"},[_c('a',{staticClass:\"btn btn-primary py-2 px-3\",attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.prices')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.subscription.changeButton'))+\" \")])])])],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-user-settings\"},[_c('AbstractForm',{attrs:{\"background\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"0\",\"padding-y\":\"0\"},on:{\"submit\":_vm.submit},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"col-12 pt-3 d-flex justify-content-end\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[(_vm.committed)?_c('div',{staticClass:\"col-auto\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.settings.changedText'))+\" \"),(_vm.mailChanged)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('pages.userSettings.settings.emailChangedText'))+\" \")]):_vm._e()])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('general.save'))+\" \")])],1)])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputName\",attrs:{\"id\":\"input-name\",\"required\":true,\"label\":_vm.$t('components.inputField.name.text'),\"placeholder\":_vm.$t('components.inputField.name.placeholder'),\"invalid-text\":_vm.$t('components.inputField.name.invalid')},model:{value:(_vm.user.name),callback:function ($$v) {_vm.$set(_vm.user, \"name\", $$v)},expression:\"user.name\"}})],1),_c('div',{staticClass:\"col-12 d-flex align-items-center\"},[_c('BaseInputField',{ref:\"inputEmail\",attrs:{\"id\":\"input-email\",\"disabled\":true,\"type\":\"email\",\"required\":true,\"label\":_vm.$t('components.inputField.email.text'),\"placeholder\":_vm.$t('components.inputField.email.placeholder'),\"invalid-text\":_vm.$t('components.inputField.email.invalid')},model:{value:(_vm.user.email),callback:function ($$v) {_vm.$set(_vm.user, \"email\", $$v)},expression:\"user.email\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('InputPhone',{ref:\"inputPhone\",attrs:{\"number\":_vm.user.phone,\"required\":true,\"label\":_vm.$t('components.inputField.phone.text'),\"invalid-text\":_vm.$t('components.inputField.phone.invalid')},on:{\"formatted\":_vm.setNumber}})],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{attrs:{\"id\":\"input-position\",\"required\":false,\"label\":_vm.$t('components.inputField.position.text'),\"placeholder\":_vm.$t('components.inputField.position.placeholder'),\"invalid-text\":_vm.$t('components.inputField.position.invalid')},model:{value:(_vm.user.position),callback:function ($$v) {_vm.$set(_vm.user, \"position\", $$v)},expression:\"user.position\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('components.inputField.company.text'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.user.company)+\" \")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport InputPhone from '@/components/form-fields/input-phone.vue';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n },\r\n})\r\nexport default class FormUserSettings extends Vue {\r\n @Ref() inputName: BaseInputField;\r\n @Ref() inputEmail: BaseInputField;\r\n @Ref() inputPhone: InputPhone;\r\n\r\n initialMail: string = null;\r\n\r\n committed = false;\r\n mailChanged = false;\r\n\r\n created() {\r\n this.initialMail = this.user.email;\r\n }\r\n\r\n get user() {\r\n return this.$vmx.user.user;\r\n }\r\n\r\n get formIsValid(): boolean {\r\n let isValid = this.inputName.validate();\r\n isValid = this.inputEmail.validate() && isValid;\r\n isValid = this.inputPhone.validate() && isValid;\r\n return isValid;\r\n }\r\n\r\n setNumber(number: string) {\r\n this.user.phone = number;\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n try {\r\n this.mailChanged = this.user.email !== this.initialMail;\r\n await this.$vmx.user.putUser(this.user);\r\n\r\n this.committed = true;\r\n globalFunctions.timeout(10000).then(() => {\r\n this.committed = false;\r\n this.mailChanged = false;\r\n })\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-user-settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-user-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-user-settings.vue?vue&type=template&id=d68cfc74&scoped=true&\"\nimport script from \"./form-user-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-user-settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d68cfc74\",\n null\n \n)\n\nexport default component.exports","import * as EmailValidator from 'email-validator';\r\nimport moment from 'moment';\r\n\r\nexport class FormValidator {\r\n constructor() {}\r\n\r\n validateLetterNumberString(str: string) {\r\n if (str.length >= 1 && str.length <= 255 && this.isNumbersAndLetters(str)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n validateLetterString(str: string) {\r\n if (this.isBetween1And255Characters(str) && this.isOnlyLetters(str)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n validatePhoneNumber(str: string) {\r\n const reg = new RegExp('^\\\\+([+0-9 ]*)$');\r\n return reg.test(str) && this.isBetween1And255Characters(str);\r\n }\r\n\r\n isBetween1And255Characters(str: string) {\r\n return str.length >= 1 && str.length <= 255;\r\n }\r\n\r\n isNumbersAndLetters(str: string) {\r\n const reg = new RegExp('^([a-zæøåA-ZÆØÅ0-9 ]*)$');\r\n return reg.test(str);\r\n }\r\n\r\n isOnlyLetters(str: string) {\r\n const reg = new RegExp('^([a-zæøåA-ZÆØÅ ]*)$');\r\n return reg.test(str);\r\n }\r\n\r\n validateEmail(mail: string) {\r\n return EmailValidator.validate(mail);\r\n }\r\n\r\n validateDate(date: string) {\r\n return (\r\n moment(date, 'DD-MM-yyyy', true).isValid() ||\r\n moment(date, 'yyyy-MM-DD', true).isValid() ||\r\n moment(date, 'yyyy.MM.DD', true).isValid() ||\r\n moment(date, 'DD.MM.yyyy', true).isValid()\r\n );\r\n }\r\n\r\n validateTime(time: string) {\r\n return moment(time, 'HH:mm:ss', true).isValid() || moment(time, 'HH:mm', true).isValid();\r\n }\r\n\r\n timeIsBetween(time: string, min: string, max: string) {\r\n return (\r\n moment(time, 'HH:mm:ss', true).isSameOrAfter(moment(min, 'HH:mm:ss')) &&\r\n moment(time, 'HH:mm:ss', true).isSameOrBefore(moment(max, 'HH:mm:ss'))\r\n );\r\n }\r\n}\r\n\r\nexport const formValidator = new FormValidator();\r\n","import { Component, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport FormChangePassword from '@/components/forms/form-change-password.vue';\r\nimport FormUserSettings from '@/components/forms/form-user-settings.vue';\r\nimport { formValidator } from '@/util/form-validator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { Modal } from 'bootstrap';\r\nimport { User } from '@/interfaces/user';\r\nimport { userService } from '@/services/restapi/user-service';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n FormChangePassword,\r\n FormUserSettings,\r\n },\r\n})\r\nexport default class UserSettingsView extends Vue {\r\n user: User = { ...this.$vmx.user.user };\r\n initialEmail: string = this.$vmx.user.user.email;\r\n password1: string = null;\r\n password2: string = null;\r\n showEmailSent = false;\r\n showEmailSentError = false;\r\n showCancelSent = false;\r\n showChangeSent = false;\r\n submitPressed = false;\r\n retries = 0;\r\n\r\n get validUser(): boolean {\r\n return (\r\n this.validName &&\r\n this.validPhone &&\r\n this.validMail &&\r\n this.validPosition\r\n );\r\n }\r\n\r\n get validName(): boolean {\r\n if (!this.submitPressed) {\r\n return null;\r\n }\r\n return formValidator.isBetween1And255Characters(this.user.name);\r\n }\r\n\r\n get validMail(): boolean {\r\n if (!this.submitPressed) {\r\n return null;\r\n }\r\n return formValidator.validateEmail(this.user.email);\r\n }\r\n\r\n get validPhone(): boolean {\r\n if (!this.submitPressed) {\r\n return null;\r\n }\r\n return formValidator.validatePhoneNumber(this.user.phone);\r\n }\r\n\r\n get validPosition(): boolean {\r\n if (!this.submitPressed) {\r\n return null;\r\n }\r\n return (\r\n this.user.position == null ||\r\n this.user.position == '' ||\r\n formValidator.validateLetterString(this.user.position)\r\n );\r\n }\r\n\r\n get invalidNameFeedback(): string {\r\n if (this.user.name.length < 1) {\r\n return 'Indtast dit navn';\r\n } else if (this.user.name.length > 255) {\r\n return 'Dit navn mÃ¥ maks være 255 tegn';\r\n } else {\r\n return 'Navnet mÃ¥ kun indeholde bogstaver';\r\n }\r\n }\r\n\r\n get invalidPositionFeedback(): string {\r\n if (this.user.position == null) {\r\n return '';\r\n } else if (this.user.position.length < 1) {\r\n return 'Indtast din stilling';\r\n } else if (this.user.position.length > 255) {\r\n return 'Din stilling mÃ¥ maks være 255 tegn';\r\n } else {\r\n return 'Stillingen mÃ¥ kun indeholde bogstaver';\r\n }\r\n }\r\n get invalidPasswordFeedback(): string {\r\n if (this.password1 == null) {\r\n return '';\r\n } else if (this.password1 != this.password2) {\r\n return 'De to kodeord skal være ens';\r\n } else {\r\n return 'Kodeordet skal være mindst 8 tegn';\r\n }\r\n }\r\n\r\n async changePassword() {\r\n userService.sendChangePasswordEmail().then(\r\n (success) => {\r\n this.showEmailSent = true;\r\n globalFunctions.timeout(5000).then(() => (this.showEmailSent = false));\r\n },\r\n (error) => {\r\n this.showEmailSentError = true;\r\n globalFunctions.timeout(5000).then(() => (this.showEmailSentError = false));\r\n },\r\n );\r\n }\r\n\r\n async cancelSubscription() {\r\n userService.sendCancelSubscription().then(() => {\r\n this.showCancelSent = true;\r\n const element = document.getElementById('cancel-subscription-modal');\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n });\r\n }\r\n\r\n changeSubscription(newSubscription: string) {\r\n userService.sendChangeSubscription(newSubscription).then(() => {\r\n this.showChangeSent = true;\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./user-settings-view.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./user-settings-view.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./user-settings-view.vue?vue&type=template&id=b0e78d2a&scoped=true&\"\nimport script from \"./user-settings-view.ts?vue&type=script&lang=ts&\"\nexport * from \"./user-settings-view.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./user-settings-view.scss?vue&type=style&index=0&id=b0e78d2a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b0e78d2a\",\n null\n \n)\n\nexport default component.exports","import VueRouter, { RouteConfig } from 'vue-router';\r\nimport AccessExpiredView from '@/views/access-expired/access-expired-view.vue';\r\nimport ActivateView from '@/views/activate/activate-view.vue';\r\nimport BlacklistView from '@/views/blacklist/blacklist-view.vue';\r\nimport ChangePasswordView from '@/views/change-password/change-password-view.vue';\r\nimport CompanyListView from '@/views/company-list/company-list-view.vue';\r\nimport CompanyView from '@/views/company/company-view.vue';\r\nimport DashboardView from '@/views/dashboard/dashboard-view.vue';\r\nimport Error404View from '@/views/error-404/error-404-view.vue';\r\nimport HelpView from '@/views/help/help-view.vue';\r\nimport i18n from '@/localization/i18n';\r\nimport ImpersonateView from '@/views/impersonate/impersonate-view.vue';\r\nimport InvalidSessionView from '@/views/invalid-session/invalid-session-view.vue';\r\nimport ListView from '@/views/list-view/list-view.vue';\r\nimport PrintProcurementView from '@/views/print-procurement/print-procurement-view.vue';\r\nimport PrintProjectView from '@/views/print-project/print-project-view.vue';\r\nimport ProcurementView from '@/views/procurement-view/procurement-view.vue';\r\nimport ProjectView from '@/views/project-view/project-view.vue';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport SearchCompanyView from '@/views/search-company/search-company-view.vue';\r\nimport SearchView from '@/views/search/search-view.vue';\r\nimport UserSettingsView from '@/views/user-settings/user-settings-view.vue';\r\nimport Vue from 'vue';\r\n\r\n/**\r\n * @author Jais Christiansen\r\n */\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: Array = [\r\n // Dashboard (Logged In)\r\n {\r\n path: '',\r\n name: RouterNames.LOGGED_IN_DASHBOARD,\r\n component: DashboardView,\r\n meta: { title: 'pages.dashboard.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n {\r\n path: '/dashboard',\r\n redirect: { name: RouterNames.LOGGED_IN_DASHBOARD },\r\n },\r\n\r\n // Search (Logged In)\r\n {\r\n path: '/search/:page',\r\n name: RouterNames.LOGGED_IN_SEARCH,\r\n component: SearchView,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n meta: { title: 'pages.search.pageTitle', autoscroll: true, header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Project View (Logged In)\r\n {\r\n path: '/project/:id',\r\n name: RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n props: true,\r\n component: ProjectView,\r\n meta: { title: 'pages.project.pageTitle', limitedAccess: true, header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Procurement View (Logged In)\r\n {\r\n path: '/procurement/:id',\r\n name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\r\n props: true,\r\n component: ProcurementView,\r\n meta: { title: 'pages.procurement.pageTitle', header: 'compact', autoscroll: true, requireLogin: true },\r\n },\r\n\r\n // Blacklist (Logged In)\r\n {\r\n path: '/blacklist',\r\n name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\r\n component: BlacklistView,\r\n meta: { title: 'pages.blacklist.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Settings (Logged In)\r\n {\r\n path: '/settings',\r\n name: RouterNames.LOGGED_IN_USER_SETTINGS,\r\n component: UserSettingsView,\r\n meta: { title: 'pages.userSettings.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // List view (Logged In)\r\n {\r\n path: '/list/:id',\r\n name: RouterNames.LOGGED_IN_LIST_VIEW,\r\n props: true,\r\n component: ListView,\r\n meta: { title: 'pages.lists.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Company Search (Logged In)\r\n {\r\n path: '/search-company',\r\n name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\r\n component: SearchCompanyView,\r\n meta: { title: 'pages.companySearch.pageTitle', autoscroll: true, header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Company View (Logged In)\r\n {\r\n path: '/company/:id',\r\n name: RouterNames.LOGGED_IN_COMPANY_VIEW,\r\n props: true,\r\n component: CompanyView,\r\n meta: { title: 'pages.company.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Company List View (Logged In)\r\n {\r\n path: '/company-list/:id',\r\n name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW,\r\n props: true,\r\n component: CompanyListView,\r\n meta: { title: 'pages.companyList.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Access expired (Logged In)\r\n {\r\n path: '/access-expired',\r\n name: RouterNames.LOGGED_IN_ACCESS_EXPIRED,\r\n component: AccessExpiredView,\r\n meta: { title: 'pages.accessExpired.pageTitle', limitedAccess: true, header: 'compact', requireLogin: true },\r\n },\r\n\r\n // Change password\r\n {\r\n path: '/change-password/:resetToken',\r\n name: RouterNames.LOGGED_OUT_CHANGE_PASSWORD,\r\n component: ChangePasswordView,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n meta: { title: 'pages.changePassword.pageTitle', requireLogin: false },\r\n },\r\n\r\n // Invalid Session\r\n {\r\n path: '/invalid-session/',\r\n name: RouterNames.INVALID_SESSION,\r\n component: InvalidSessionView,\r\n meta: { title: 'pages.accessExpired.pageTitle', header: 'compact', requireLogin: false },\r\n },\r\n\r\n // Activate\r\n {\r\n path: '/activate/:activateToken',\r\n name: RouterNames.LOGGED_OUT_ACTIVATE,\r\n component: ActivateView,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n meta: { title: 'pages.activate.pageTitle', header: 'compact', requireLogin: false },\r\n },\r\n\r\n // Imporsanate\r\n {\r\n path: '/impersonate/:token',\r\n name: RouterNames.LOGGED_OUT_IMPERSONATE_USER,\r\n component: ImpersonateView,\r\n props: (route) => ({\r\n ...route.params,\r\n }),\r\n meta: { title: 'pages.impersonate.pageTitle', requireLogin: false },\r\n },\r\n\r\n // Print Procurement (Logged In)\r\n {\r\n path: '/print-procurement/:id',\r\n name: RouterNames.PRINT_PROCUREMENT,\r\n props: true,\r\n component: PrintProcurementView,\r\n meta: { title: 'pages.procurement.pageTitle', hideHeaderFooter: true, requireLogin: true },\r\n },\r\n\r\n // Print Project (Logged In)\r\n {\r\n path: '/print-project/:id',\r\n name: RouterNames.PRINT_PROJECT,\r\n props: true,\r\n component: PrintProjectView,\r\n meta: { title: 'pages.project.pageTitle', hideHeaderFooter: true, requireLogin: true },\r\n },\r\n\r\n // Help (Logged In)\r\n {\r\n path: '/help',\r\n name: RouterNames.LOGGED_IN_HELP,\r\n component: HelpView,\r\n meta: { title: 'pages.help.pageTitle', header: 'compact', requireLogin: true },\r\n },\r\n\r\n // 404\r\n {\r\n path: '*',\r\n name: RouterNames.ERROR_NOT_FOUND,\r\n component: Error404View,\r\n meta: { title: 'pages.error404.pageTitle', requireLogin: false },\r\n },\r\n]\r\n\r\n// const routesOld: Array = [\r\n// // LoggedIn\r\n// {\r\n// path: '',\r\n// component: LayoutLoggedIn,\r\n// meta: {\r\n// requiresAuth: true,\r\n// },\r\n// children: [\r\n// // Dashboard\r\n// {\r\n// path: '',\r\n// name: RouterNames.LOGGED_IN_DASHBOARD,\r\n// component: DashboardView,\r\n// meta: { title: 'pages.dashboard.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Settings\r\n// {\r\n// path: '/settings',\r\n// name: RouterNames.LOGGED_IN_USER_SETTINGS,\r\n// component: UserSettingsView,\r\n// meta: { title: 'pages.userSettings.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Blacklist\r\n// {\r\n// path: '/blacklist',\r\n// name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\r\n// component: BlacklistView,\r\n// meta: { title: 'pages.blacklist.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // List view\r\n// {\r\n// path: '/list/:id',\r\n// name: RouterNames.LOGGED_IN_LIST_VIEW,\r\n// props: true,\r\n// component: ListView,\r\n// meta: { title: 'pages.lists.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Company List View\r\n// {\r\n// path: '/company-list/:id',\r\n// name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW,\r\n// props: true,\r\n// component: CompanyListView,\r\n// meta: { title: 'pages.companyList.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Help\r\n// {\r\n// path: '/help',\r\n// name: RouterNames.LOGGED_IN_HELP,\r\n// component: HelpView,\r\n// meta: { title: 'pages.help.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Procurement View\r\n// {\r\n// path: '/procurement/:id',\r\n// name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\r\n// props: true,\r\n// component: ProcurementView,\r\n// meta: { title: 'pages.procurement.pageTitle', header: 'compact', autoscroll: true },\r\n// },\r\n//\r\n// // Company Search\r\n// {\r\n// path: '/search-company',\r\n// name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\r\n// component: SearchCompanyView,\r\n// meta: { title: 'pages.companySearch.pageTitle', autoscroll: true, header: 'compact' },\r\n// },\r\n//\r\n// // Search\r\n// {\r\n// path: '/search/:page',\r\n// name: RouterNames.LOGGED_IN_SEARCH,\r\n// component: SearchView,\r\n// props: (route) => ({\r\n// ...route.params,\r\n// }),\r\n// meta: { title: 'pages.search.pageTitle', autoscroll: true, header: 'compact' },\r\n// },\r\n//\r\n// // Project View\r\n// {\r\n// path: '/project/:id',\r\n// name: RouterNames.LOGGED_IN_PROJECT_VIEW,\r\n// props: true,\r\n// component: ProjectView,\r\n// meta: { title: 'pages.project.pageTitle', limitedAccess: true, header: 'compact' },\r\n// },\r\n//\r\n// // Company View\r\n// {\r\n// path: '/company/:id',\r\n// name: RouterNames.LOGGED_IN_COMPANY_VIEW,\r\n// props: true,\r\n// component: CompanyView,\r\n// meta: { title: 'pages.company.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Access expired\r\n// {\r\n// path: '/access-expired',\r\n// name: RouterNames.LOGGED_IN_ACCESS_EXPIRED,\r\n// component: AccessExpiredView,\r\n// meta: { title: 'pages.accessExpired.pageTitle', limitedAccess: true, header: 'compact' },\r\n// },\r\n// ],\r\n// },\r\n//\r\n// // Print\r\n// {\r\n// path: '',\r\n// component: LayoutPrint,\r\n// meta: {\r\n// requiresAuth: true,\r\n// },\r\n// props: true,\r\n// children: [\r\n// {\r\n// path: '/print-procurement/:id',\r\n// name: RouterNames.PRINT_PROCUREMENT,\r\n// props: true,\r\n// component: PrintProcurementView,\r\n// meta: { title: 'pages.procurement.pageTitle' },\r\n// },\r\n// {\r\n// path: '/print-project/:id',\r\n// name: RouterNames.PRINT_PROJECT,\r\n// props: true,\r\n// component: PrintProjectView,\r\n// meta: { title: 'pages.project.pageTitle' },\r\n// },\r\n// ],\r\n// },\r\n//\r\n// // LoggedOut\r\n// {\r\n// path: '',\r\n// component: LayoutDefault,\r\n// meta: {\r\n// requiresAuth: false,\r\n// },\r\n// children: [\r\n// // Invalid Session\r\n// {\r\n// path: '/invalid-session/',\r\n// name: RouterNames.INVALID_SESSION,\r\n// component: InvalidSessionView,\r\n// meta: { title: 'pages.accessExpired.pageTitle', header: 'compact' },\r\n// },\r\n//\r\n// // Cookie Policy\r\n// {\r\n// path: '/cookie-policy',\r\n// name: RouterNames.LOGGED_OUT_COOKIE_POLICY,\r\n// component: CookiePolicyView,\r\n// meta: { title: 'pages.cookiePolicy.pageTitle' },\r\n// },\r\n//\r\n// // Jura\r\n// {\r\n// path: '/jura',\r\n// name: RouterNames.LOGGED_OUT_JURA,\r\n// component: Jura,\r\n// meta: { title: 'pages.jura.pageTitle' },\r\n// },\r\n//\r\n// // Change Password\r\n// {\r\n// path: '/change-password/:resetToken',\r\n// name: RouterNames.LOGGED_OUT_CHANGE_PASSWORD,\r\n// component: ChangePasswordView,\r\n// props: (route) => ({\r\n// ...route.params,\r\n// }),\r\n// meta: { title: 'pages.changePassword.pageTitle' },\r\n// },\r\n//\r\n// // Impersonate\r\n// {\r\n// path: '/impersonate/:token',\r\n// name: RouterNames.LOGGED_OUT_IMPERSONATE_USER,\r\n// component: ImpersonateView,\r\n// props: (route) => ({\r\n// ...route.params,\r\n// }),\r\n// meta: { title: 'pages.impersonate.pageTitle' },\r\n// },\r\n//\r\n// // Confirmations Email\r\n// {\r\n// path: '/confirmations/email',\r\n// name: RouterNames.LOGGED_OUT_UPDATE_EMAIL,\r\n// component: EmailChangeView,\r\n// props: (route) => ({\r\n// ...route.query,\r\n// }),\r\n// meta: { title: 'pages.emailChange.pageTitle' },\r\n// },\r\n//\r\n// // // Login\r\n// // {\r\n// // path: '',\r\n// // name: RouterNames.LOGIN,\r\n// // component: LoginView,\r\n// // meta: { title: 'pages.accessExpired.pageTitle', header: 'compact' },\r\n// // },\r\n//\r\n// // 404\r\n// {\r\n// path: '*',\r\n// name: RouterNames.ERROR_NOT_FOUND,\r\n// component: Error404View,\r\n// },\r\n// ],\r\n// },\r\n// ]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n routes: routes,\r\n scrollBehavior(to, from, savedPosition) {\r\n if (to.name === RouterNames.LOGGED_IN_SEARCH && from.name === RouterNames.LOGGED_IN_SEARCH) {\r\n return null;\r\n }\r\n\r\n if (to.meta?.autoscroll === true && savedPosition != null) {\r\n return savedPosition;\r\n } else if (to.hash) {\r\n return { selector: to.hash };\r\n }\r\n\r\n return { x: 0, y: 0 };\r\n },\r\n});\r\n\r\n// Authentication guard for routes with authentication required\r\nrouter.beforeEach((to, from, next) => {\r\n document.querySelectorAll('div[role=tooltip]').forEach(element => {\r\n element.remove();\r\n })\r\n if (to.path == null) {\r\n next({ name: RouterNames.LOGGED_IN_DASHBOARD })\r\n }\r\n next();\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n Vue.nextTick(() => {\r\n document.title = (i18n.t(to.meta.title) as string) || to.name;\r\n });\r\n});\r\n\r\nexport default router;\r\n","import 'vuex-class-component';\r\nimport * as storage from '../storage';\r\nimport { action } from 'vuex-class-component';\r\nimport { cookieUtils } from '@/util/cookie-utils';\r\nimport { createModule } from '../preloader';\r\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\r\nimport { RawLocation } from 'vue-router';\r\nimport router from '@/router';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { vmx } from '..';\r\n\r\nexport default class SessionStore extends createModule('session') {\r\n get isLoggedIn(): boolean {\r\n return this.sessionCookie != null && (this.isLoggedinUser || this.isLoggedInLimitedAccess);\r\n }\r\n\r\n get isLoggedinUser(): boolean {\r\n return this.sessionCookie != null && vmx.user.user != null;\r\n }\r\n\r\n get isLoggedInLimitedAccess(): boolean {\r\n return this.sessionCookie != null && vmx.limitedAccess.limitedAccess != null;\r\n }\r\n\r\n @action\r\n async init(): Promise {\r\n vmx.language.updateLanguage(vmx.language.language);\r\n\r\n const isCurrenVersion = await this.fetchVersionCheck();\r\n\r\n if (!isCurrenVersion && this.sessionCookie != null) {\r\n alert('A new version of Projektagenten is available.\\nPlease log in again');\r\n storage.clearStorage();\r\n await this.loginOut();\r\n return;\r\n }\r\n\r\n if (vmx.user.user != null && this.sessionCookie == null) {\r\n await this.loginOut();\r\n return;\r\n }\r\n\r\n if (vmx.limitedAccess.limitedAccess != null && this.sessionCookie == null) {\r\n await this.loginOut();\r\n return;\r\n }\r\n\r\n await vmx.user.fetchUser();\r\n\r\n if (vmx.user.user?.id != null) {\r\n this.fetchLoginData();\r\n return;\r\n }\r\n\r\n await vmx.limitedAccess.fetchLimitedAccess()\r\n }\r\n\r\n @action\r\n async loginIn(loginDetails: LoginDetails): Promise {\r\n await vmx.limitedAccess.clear(); // In case of limited access still being in local\r\n\r\n await vmx.user.login(loginDetails);\r\n await this.pushVersionCheck();\r\n await this.fetchLoginData();\r\n }\r\n\r\n @action\r\n async impersonate({\r\n username,\r\n password,\r\n token,\r\n }: {\r\n username: string;\r\n password: string;\r\n token: string;\r\n }) {\r\n await vmx.user.impersonate({ username, password, token });\r\n await this.pushVersionCheck();\r\n await router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\r\n }\r\n\r\n @action\r\n async loginOut(redirect?: RawLocation) {\r\n this.deleteCookie('session');\r\n storage.removeStorage('user');\r\n vmx.search.clearAgent();\r\n\r\n if (redirect == null) {\r\n // await router.push({ name: RouterNames.LOGGED_OUT_HOME})\r\n // location.reload()\r\n const href = router.resolve({ name: RouterNames.LOGGED_IN_DASHBOARD }).href;\r\n location.assign(href);\r\n } else if (typeof redirect == 'string') {\r\n // await router.push({ name: redirect })\r\n // location.reload()\r\n const href = router.resolve({ name: redirect }).href;\r\n location.assign(href);\r\n } else {\r\n // await router.push(redirect)\r\n // location.reload();\r\n const href = router.resolve(redirect).href;\r\n location.assign(href);\r\n }\r\n }\r\n\r\n @action\r\n async panic(msg: string) {\r\n this.deleteCookie('session')\r\n vmx.user.clearUser();\r\n vmx.search.clearAgent();\r\n window.stop();\r\n\r\n router.push({ name: RouterNames.LOGGED_IN_DASHBOARD }).then(() => {\r\n window.alert(msg);\r\n window.location.reload();\r\n })\r\n }\r\n\r\n private get sessionCookie(): string {\r\n return cookieUtils.getCookie('session');\r\n }\r\n\r\n @action\r\n private async deleteCookie(name: string) {\r\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;Path=/;';\r\n }\r\n\r\n @action\r\n private async fetchLoginData() {\r\n return Promise.all>([\r\n vmx.user.fetchColleagues(),\r\n vmx.list.fetchLists(),\r\n vmx.agent.fetchAgents(),\r\n vmx.country.fetchCountries(),\r\n vmx.criterion.fetchCriterionTypes(),\r\n vmx.blacklist.fetchBlacklists(),\r\n vmx.companyList.fetchCompanyLists(),\r\n vmx.procurementPhase.fetchProcurementPhases(),\r\n vmx.projectPhase.fetchProjectPhases(),\r\n vmx.procurementType.fetchProcurementTypes(),\r\n vmx.role.fetchRoles(),\r\n vmx.search.fetchSearchItemPage(),\r\n ]);\r\n }\r\n\r\n @action\r\n private async fetchVersionCheck(): Promise {\r\n const currentVersion = (await import('../../../package.json')).version?.split('.');\r\n const localVersion = storage.getStorage('version')?.split('.');\r\n\r\n return localVersion != null && localVersion.length >= 3\r\n && currentVersion != null && currentVersion.length >= 3\r\n && currentVersion[0] === localVersion[0]\r\n && currentVersion[1] === localVersion[1];\r\n }\r\n\r\n @action\r\n private async pushVersionCheck(): Promise {\r\n const currentVersion = (await import('../../../package.json')).version;\r\n storage.setStorage('version', currentVersion);\r\n }\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\nimport router from '@/router';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { User } from '@/interfaces/user';\r\n\r\nconst api = '/auth';\r\n\r\nexport class AuthService extends AbstractService {\r\n session: number = 24 * 7;\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public login = async (username: string, password: string, rememberMe: boolean): Promise => {\r\n const body = {\r\n username,\r\n password,\r\n };\r\n const value = await this.post(api, body);\r\n if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\r\n this.setToken(value.headers.jwt, rememberMe ? this.session : null);\r\n return value.data;\r\n }\r\n throw value.status;\r\n // return this.post(api, body).then(\r\n // (value) => {\r\n // if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\r\n // this.setToken(value.headers.jwt, rememberMe ? this.session : null);\r\n // return value.data;\r\n // }\r\n // throw value.status;\r\n // },\r\n // (error) => {\r\n // throw error;\r\n // },\r\n // );\r\n };\r\n\r\n public isValidToken = async (jwt: string): Promise => {\r\n return this.get(api + '/isValidToken/' + jwt).then(\r\n (value) => {\r\n return value.data;\r\n },\r\n (error) => {\r\n throw error;\r\n },\r\n );\r\n };\r\n\r\n public impersonate = async (\r\n adminUsername: string,\r\n adminPassword: string,\r\n token: string,\r\n ): Promise => {\r\n return this.post(`${api}/impersonate`, { adminUsername, adminPassword, token }).then(\r\n (value) => {\r\n if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\r\n this.setToken(value.headers.jwt, null);\r\n localStorage.setItem('user', JSON.stringify(value.data));\r\n router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\r\n location.reload();\r\n return value.data;\r\n }\r\n throw value.status;\r\n },\r\n (error) => {\r\n throw error;\r\n },\r\n );\r\n };\r\n}\r\n\r\nexport const authService = new AuthService(apiConfig);\r\n","import { createModule, preserve } from '../preloader';\r\nimport { getStorage, removeStorage, setStorage } from '../storage';\r\nimport { action } from 'vuex-class-component';\r\nimport { authService } from '@/services/restapi/auth-service';\r\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\r\nimport { User } from '@/interfaces/user';\r\nimport { userService } from '@/services/restapi/user-service';\r\n\r\nexport default class UserStore extends createModule('user') {\r\n private userData = null as User;\r\n private userPromise = null as Promise;\r\n\r\n private colleaguesData = null as User[];\r\n private colleaguesPromise = null as Promise;\r\n\r\n private loadingUserData: boolean = null;\r\n\r\n get user() {\r\n if (this.userPromise == null) {\r\n this.fetchUser();\r\n }\r\n\r\n if (this.userData == null) {\r\n return getStorage('user');\r\n }\r\n\r\n return this.userData;\r\n }\r\n\r\n get colleagues(): User[] {\r\n return this.colleaguesData;\r\n }\r\n\r\n get hasColleagues(): boolean {\r\n return (\r\n this.colleaguesData != null &&\r\n this.colleaguesData.some((colleague) => colleague.id !== this.user?.id)\r\n );\r\n }\r\n\r\n get hasCompanyAccess(): boolean {\r\n return this.user?.product?.companyEnabled ?? false;\r\n }\r\n\r\n get hasProduct(): boolean {\r\n return this.user != null && !this.user.product.basic;\r\n }\r\n\r\n get loadingUser(): boolean {\r\n return this.loadingUserData;\r\n }\r\n\r\n @action\r\n async fetchUser(): Promise {\r\n if (this.userData != null) {\r\n this.loadingUserData = false;\r\n return this.userData;\r\n }\r\n\r\n if (this.userPromise != null) {\r\n return this.userPromise;\r\n }\r\n\r\n this.userPromise = userService.getUser();\r\n this.loadingUserData = true;\r\n this.userPromise.then((user) => {\r\n this.loadingUserData = false;\r\n this.setUser(user)\r\n });\r\n\r\n if (getStorage('user') != null) {\r\n const user = getStorage('user');\r\n this.setUser(user);\r\n\r\n this.loadingUserData = false;\r\n return user;\r\n }\r\n\r\n return this.userPromise;\r\n }\r\n\r\n @action\r\n async login(loginDetails: LoginDetails): Promise {\r\n const user = await authService.login(loginDetails.username, loginDetails.password, loginDetails.rememberMe);\r\n this.setUser(user);\r\n return user;\r\n }\r\n\r\n @action\r\n async impersonate(args: { username: string; password: string; token: string }) {\r\n const user = await authService.impersonate(args.username, args.password, args.token);\r\n this.setUser(user);\r\n return user;\r\n }\r\n\r\n @action\r\n async putUser(user: User): Promise {\r\n const updatedUser = await userService.putUser(user);\r\n this.setUser(updatedUser);\r\n return updatedUser;\r\n }\r\n\r\n @action\r\n async updateEmail(payload: { email: string; code: string }): Promise {\r\n await userService.updateEmail(payload.email, payload.code);\r\n\r\n this.setUser({\r\n ...this.user,\r\n email: payload.email,\r\n });\r\n\r\n return null;\r\n }\r\n\r\n @action\r\n async clearUser() {\r\n this.userData = null;\r\n removeStorage('user');\r\n }\r\n\r\n @action\r\n async setColleagues(users: User[]) {\r\n this.colleaguesData = users;\r\n }\r\n\r\n @action\r\n async fetchColleagues(): Promise {\r\n return (\r\n this.colleaguesData ??\r\n preserve(this.colleaguesPromise, userService.getUsersInCompany, this.setColleagues)\r\n );\r\n }\r\n\r\n @action\r\n private async setUser(user: User): Promise {\r\n this.userData = user;\r\n setStorage('user', user);\r\n return;\r\n }\r\n}\r\n","import { createProxy, extractVuexModule } from 'vuex-class-component';\r\nimport AgentStore from './modules/agent-store';\r\nimport BlacklistStore from './modules/blacklist-store';\r\nimport CompanyListStore from './modules/company-list-store';\r\nimport CountryStore from './modules/country-store';\r\nimport CriterionStore from './modules/criterion-store';\r\nimport DomainStore from './modules/domain-store';\r\nimport FileStore from './modules/file-store';\r\nimport LanguageStore from './modules/language-store';\r\nimport LimitedAccessStore from './modules/limited-access-store';\r\nimport ListStore from './modules/list-store';\r\nimport ModalStore from './modules/modal-store';\r\nimport ProcurementPhaseStore from './modules/procurement-phase-store';\r\nimport ProcurementTypeStore from './modules/procurement-type-store';\r\nimport ProjectPhaseStore from './modules/project-phase-store';\r\nimport RoleStore from './modules/role-store';\r\nimport SearchCompanyStore from './modules/search-company-store';\r\nimport SearchStore from './modules/search-store';\r\nimport SessionStore from './modules/session-store';\r\nimport UserStore from './modules/user-store';\r\nimport Vue from 'vue';\r\nimport Vuex from 'vuex';\r\n('./modules/session-store');\r\n\r\nVue.use(Vuex);\r\n\r\nexport const store = new Vuex.Store({\r\n modules: {\r\n ...extractVuexModule(AgentStore),\r\n ...extractVuexModule(BlacklistStore),\r\n ...extractVuexModule(CompanyListStore),\r\n ...extractVuexModule(CountryStore),\r\n ...extractVuexModule(CriterionStore),\r\n ...extractVuexModule(DomainStore),\r\n ...extractVuexModule(FileStore),\r\n ...extractVuexModule(LanguageStore),\r\n ...extractVuexModule(LimitedAccessStore),\r\n ...extractVuexModule(ListStore),\r\n ...extractVuexModule(ModalStore),\r\n ...extractVuexModule(ProcurementPhaseStore),\r\n ...extractVuexModule(ProcurementTypeStore),\r\n ...extractVuexModule(ProjectPhaseStore),\r\n ...extractVuexModule(RoleStore),\r\n ...extractVuexModule(SearchCompanyStore),\r\n ...extractVuexModule(SearchStore),\r\n ...extractVuexModule(SessionStore),\r\n ...extractVuexModule(UserStore),\r\n },\r\n});\r\n\r\nexport const vmx = {\r\n agent: createProxy(store, AgentStore),\r\n blacklist: createProxy(store, BlacklistStore),\r\n companyList: createProxy(store, CompanyListStore),\r\n country: createProxy(store, CountryStore),\r\n criterion: createProxy(store, CriterionStore),\r\n domain: createProxy(store, DomainStore),\r\n file: createProxy(store, FileStore),\r\n language: createProxy(store, LanguageStore),\r\n limitedAccess: createProxy(store, LimitedAccessStore),\r\n list: createProxy(store, ListStore),\r\n modal: createProxy(store, ModalStore),\r\n procurementPhase: createProxy(store, ProcurementPhaseStore),\r\n procurementType: createProxy(store, ProcurementTypeStore),\r\n projectPhase: createProxy(store, ProjectPhaseStore),\r\n role: createProxy(store, RoleStore),\r\n search: createProxy(store, SearchStore),\r\n searchCompany: createProxy(store, SearchCompanyStore),\r\n session: createProxy(store, SessionStore),\r\n user: createProxy(store, UserStore),\r\n};\r\n","import { Domain } from '../interfaces/domain';\r\nimport domainsJSON from '../../resources/domains/domains.json';\r\nimport { vmx } from '@/store';\r\n\r\nexport const domains: Domain[] = domainsJSON;\r\nconst [label, sld, tld] = window.location.hostname.split('.');\r\n\r\nexport function findDomain(): Domain {\r\n const host = window.location.hostname;\r\n const domains: Domain[] = domainsJSON;\r\n if (host === 'localhost') {\r\n const tld: string = new URL(location.toString()).searchParams.get('domain');\r\n const domain: Domain = domains.filter((domain) => domain.tld == tld)[0]\r\n ?? domains.filter((domain) => domain.tld == 'dk')[0]\r\n return domain;\r\n }\r\n\r\n const domain: Domain = domains.filter(\r\n (domain: Domain) => domain.tld === tld && domain.sld === sld,\r\n )[0];\r\n\r\n if (domain == null) {\r\n return domains.filter((domain) => domain.tld == 'dk')[0]\r\n }\r\n\r\n return domain;\r\n}\r\n\r\nexport const chooseDomain = (domain: Domain) => {\r\n if (location.hostname === 'localhost') {\r\n const url: URL = new URL(location.toString())\r\n url.searchParams.set('domain', domain.tld)\r\n vmx.language.updateLanguage(domain.languageId);\r\n location.href = url.toString();\r\n return;\r\n }\r\n const [root] = location.host.split('.');\r\n location.href = `https://${root}.${domain.sld}.${domain.tld}`;\r\n}\r\n\r\nexport const getWordpressLink = (path: string) => {\r\n // https://projektagenten.byhand.nu/en/book-demo/\r\n\r\n const domain = findDomain();\r\n // const url = `https://projektagenten.byhand.nu/${domain.tld}`\r\n const url = 'https://projektagenten.byhand.nu'\r\n\r\n return path == null ? url : `${url}/${path}`;\r\n}\r\n\r\nexport const domain: Domain = findDomain();\r\n","import {\r\n faAngleDown,\r\n faAngleLeft,\r\n faAngleRight,\r\n faAngleUp,\r\n faArchive,\r\n faArrowDown,\r\n faArrowLeft,\r\n faArrowUp,\r\n faBan,\r\n faBars,\r\n faBell,\r\n faBinoculars,\r\n faCalendarPlus,\r\n faCheck,\r\n faChevronDoubleDown,\r\n faChevronDoubleLeft,\r\n faChevronDoubleRight,\r\n faChevronDoubleUp,\r\n faChevronDown,\r\n faChevronRight,\r\n faChevronUp,\r\n faCircle,\r\n faClipboard,\r\n faCog,\r\n faCommentAltPlus,\r\n faCookieBite,\r\n faCreditCard,\r\n faDoorOpen,\r\n faEllipsisV,\r\n faEnvelope,\r\n faExternalLink,\r\n faEyeSlash,\r\n faFileDownload,\r\n faFileSignature,\r\n faFlagCheckered,\r\n faGlobe,\r\n faGlobeEurope,\r\n faHandshake,\r\n faHardHat,\r\n faHeadset,\r\n faHome,\r\n faInfoCircle,\r\n faLandmark,\r\n faLightbulb,\r\n faLink,\r\n faList,\r\n faLock,\r\n faMegaphone,\r\n faMinus,\r\n faNewspaper,\r\n faPencil,\r\n faPlus,\r\n faPollPeople,\r\n faQuestion,\r\n faSearch,\r\n faShareAlt,\r\n faSortAmountDown,\r\n faSortAmountUp,\r\n faStar,\r\n faStickyNote,\r\n faTachometer,\r\n faTimes,\r\n faTimesCircle,\r\n faToolbox,\r\n faTools,\r\n faTrashAlt,\r\n faUnlock,\r\n faUnlockAlt,\r\n faUser,\r\n} from '@fortawesome/pro-light-svg-icons';\r\nimport {\r\n faBorderAll,\r\n faBan as fasBan,\r\n faCircle as fasCircle,\r\n faQuestion as fasQuestion,\r\n faStar as fasStar,\r\n faThLarge,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport {\r\n faCircle as farCircle,\r\n} from '@fortawesome/free-regular-svg-icons';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\n\r\nexport default function () {\r\n library.add(\r\n faAngleDown,\r\n faAngleLeft,\r\n faAngleRight,\r\n faAngleUp,\r\n faArchive,\r\n faArrowLeft,\r\n faArrowDown,\r\n faArrowUp,\r\n faBan,\r\n faBars,\r\n faBell,\r\n faBinoculars,\r\n faBorderAll,\r\n faCheck,\r\n faChevronDoubleDown,\r\n faThLarge,\r\n faChevronDoubleUp,\r\n faChevronDoubleRight,\r\n faChevronDoubleLeft,\r\n faChevronRight,\r\n faChevronUp,\r\n faChevronDown,\r\n faCircle,\r\n faClipboard,\r\n faCog,\r\n faCommentAltPlus,\r\n faCookieBite,\r\n faCreditCard,\r\n faDoorOpen,\r\n faEllipsisV,\r\n faEnvelope,\r\n faEyeSlash,\r\n faExternalLink,\r\n faFileDownload,\r\n faFileSignature,\r\n faFlagCheckered,\r\n faGlobeEurope,\r\n faHandshake,\r\n faHardHat,\r\n faHeadset,\r\n faHome,\r\n faInfoCircle,\r\n faLandmark,\r\n faLightbulb,\r\n faLink,\r\n faList,\r\n faLock,\r\n faMegaphone,\r\n faMinus,\r\n faNewspaper,\r\n faPencil,\r\n faPlus,\r\n faPollPeople,\r\n farCircle,\r\n fasCircle,\r\n fasBan,\r\n fasQuestion,\r\n faQuestion,\r\n faSearch,\r\n faShareAlt,\r\n faSortAmountDown,\r\n faSortAmountUp,\r\n faStar,\r\n fasStar,\r\n faStickyNote,\r\n faTachometer,\r\n faTimes,\r\n faTimesCircle,\r\n faTools,\r\n faToolbox,\r\n faTrashAlt,\r\n faUnlock,\r\n faUnlockAlt,\r\n faUser,\r\n faCalendarPlus,\r\n faGlobe,\r\n );\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\",attrs:{\"id\":\"app\"}},[_c('Layout')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=4c3b8894&\"\nvar script = {}\nimport style0 from \"./styles.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"custom-alert d-flex\"},[_c('div',{class:_vm.leftSideClasses}),_c('div',{class:_vm.rightSideClasses,attrs:{\"role\":\"alert\"}},[_vm._t(\"default\",function(){return [_vm._v(\"tekst\")]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseAlert extends Vue {\r\n @Prop({ default: 'primary' }) type: string;\r\n @Prop() paddingY: string;\r\n\r\n get leftSideClasses() {\r\n return [\r\n 'left-side',\r\n `bg-${this.type}`,\r\n ]\r\n }\r\n\r\n get rightSideClasses() {\r\n return [\r\n 'right-side',\r\n 'flex-grow-1',\r\n 'alert',\r\n `alert-${this.type}`,\r\n this.paddingY ? `py-${this.paddingY}` : '',\r\n ];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-alert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-alert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-alert.vue?vue&type=template&id=7c7fbe42&scoped=true&\"\nimport script from \"./base-alert.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-alert.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-alert.vue?vue&type=style&index=0&id=7c7fbe42&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c7fbe42\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base-container\",class:{ 'h-100': _vm.fullHeight }},[_c('div',{staticClass:\"d-flex flex-column h-100\"},[(_vm.showHeader)?_c('div',{staticClass:\"rounded-1 container-header d-flex flex-column justify-content-center\",class:_vm.headerClasses},[_c('div',[_vm._t(\"header\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")]})],2)]):_vm._e(),(_vm.showBody)?_c('div',{staticClass:\"flex-grow-1\",class:_vm.bodyClasses},[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.$t('general.missingContent'))+\" \")]})],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseContainer extends Vue {\r\n @Prop({ default: true }) showHeader: boolean;\r\n @Prop({ default: true }) showBody: boolean;\r\n @Prop({ default: 'trademark'}) headerBgColor: string;\r\n @Prop({ default: 'white'}) headerTextColor: string;\r\n @Prop({ default: 'white' }) bodyBgColor: string;\r\n @Prop({ default: 'dark' }) bodyTextColor: string;\r\n @Prop({ default: 4 }) paddingX: number;\r\n @Prop() headerPaddingX: number;\r\n @Prop({ default: 4 }) paddingY: number;\r\n @Prop({ default: false }) noPadding: boolean;\r\n @Prop({ default: 2 }) gutter: number;\r\n @Prop({ default: false }) fullHeight: boolean;\r\n @Prop({ default: 0 }) rounded: number;\r\n @Prop() bodyStyleClasses: string;\r\n\r\n get headerClasses() {\r\n return [\r\n `bg-${this.headerBgColor}`,\r\n `text-${this.headerTextColor}`,\r\n this.noPadding ? '' : this.headerPaddingX ? `px-${this.headerPaddingX}` : `px-${this.paddingX}`,\r\n this.showBody ? `mb-${this.gutter}` : '',\r\n // `py-${this.headerPaddingY}`,\r\n ];\r\n }\r\n\r\n get bodyClasses() {\r\n return [\r\n `bg-${this.bodyBgColor}`,\r\n `text-${this.bodyTextColor}`,\r\n this.noPadding ? '' : `px-${this.paddingX}`,\r\n this.noPadding ? '' : `py-${this.paddingY}`,\r\n this.rounded ? `rounded rounded-${this.rounded}` : '',\r\n this.bodyStyleClasses,\r\n ];\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-container.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-container.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-container.vue?vue&type=template&id=0717bebe&scoped=true&\"\nimport script from \"./base-container.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-container.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-container.vue?vue&type=style&index=0&id=0717bebe&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0717bebe\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-check my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],staticClass:\"form-check-input\",attrs:{\"id\":_vm.uid,\"type\":\"checkbox\",\"value\":\"\",\"disabled\":_vm.disabled},domProps:{\"checked\":Array.isArray(_vm.selected)?_vm._i(_vm.selected,\"\")>-1:(_vm.selected)},on:{\"click\":_vm.click,\"change\":function($event){var $$a=_vm.selected,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selected=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selected=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selected=$$c}}}}),_c('label',{staticClass:\"form-check-label fw-normal mb-0\",attrs:{\"for\":_vm.uid}},[_vm._t(\"default\",function(){return [_vm._v(\" \"+_vm._s(_vm.text)+\" \")]})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\r\n\r\nlet uid = 0;\r\n\r\n@Component\r\nexport default class BaseInputCheckbox extends Vue {\r\n @VModel() selected: boolean;\r\n @Prop({ default: 'Missing Text' }) text: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: null }) onClick: (value?: Boolean) => void;\r\n @Ref() input: HTMLInputElement;\r\n\r\n click(el: any) {\r\n if (this.onClick) this.onClick(el.target.checked);\r\n this.$emit(el.target.checked ? 'checked' : 'unchecked');\r\n }\r\n\r\n get uid(): string {\r\n uid += 1;\r\n return 'checkbox' + uid;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-checkbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-checkbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-input-checkbox.vue?vue&type=template&id=650916ee&scoped=true&\"\nimport script from \"./base-input-checkbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-input-checkbox.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"650916ee\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-field\"},[(_vm.label)?_c('label',[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"input-group has-validation\"},[(_vm.inputGroupTextBefore)?_c('span',{staticClass:\"input-group-text\"},[_vm._v(_vm._s(_vm.inputGroupTextBefore))]):_vm._e(),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.inputField),expression:\"inputField\",modifiers:{\"trim\":true}}],ref:\"input\",staticClass:\"form-control\",attrs:{\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"aria-label\":_vm.placeholder,\"required\":_vm.required,\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputField)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.inputField=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),(_vm.inputGroupTextAfter)?_c('span',{staticClass:\"input-group-text\"},[_vm._v(_vm._s(_vm.inputGroupTextAfter))]):_vm._e(),(_vm.invalidText)?_c('div',{staticClass:\"invalid-feedback\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\",\"padding-y\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.invalidText)+\" \")])],1):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class StringUtils {\r\n constructor() {}\r\n\r\n public isNumeric = (text: string, notNull = true): boolean => {\r\n if (typeof text !== 'string') {\r\n return false;\r\n }\r\n\r\n if (notNull && (text == null || text.trim() === '')) {\r\n return false;\r\n }\r\n\r\n return !Number.isNaN(Number(text));\r\n };\r\n\r\n public includesNumber = (text: string): boolean => {\r\n if (typeof text !== 'string') {\r\n return false;\r\n }\r\n\r\n if (text.trim() === '') {\r\n return false;\r\n }\r\n\r\n return /\\d/.test(text);\r\n };\r\n\r\n public includesSpecialCharacter = (text: string): boolean => {\r\n const format = /[`!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?~]/;\r\n\r\n return format.test(text);\r\n };\r\n}\r\n\r\nexport const stringUtils = new StringUtils();\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue, Watch } from 'vue-property-decorator';\r\nimport { stringUtils } from '@/util/string-utils';\r\n\r\n@Component\r\nexport default class BaseInputField extends Vue {\r\n @VModel() text: string;\r\n @Prop() label: string;\r\n @Prop({ default: 'text' }) type : 'number' | 'password' | 'email' | 'text';\r\n @Prop() placeholder: string;\r\n @Prop() invalidText: string;\r\n\r\n @Prop({ default: 'never' }) liveValidate: 'always' | 'never' | 'onlyOnValid' | 'onlyOnInvalid';\r\n\r\n @Prop() inputGroupTextBefore: string;\r\n @Prop() inputGroupTextAfter: string;\r\n\r\n @Prop({ default: false }) required: boolean\r\n @Prop({ default: false }) skipNormalValidation: boolean;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Ref() input: HTMLInputElement;\r\n @Prop({ default: null }) validator: (val: string) => boolean;\r\n @Prop({ default: null }) isValidCb: (val: boolean) => void;\r\n\r\n public validate(text?: string): boolean {\r\n const isValid = this.isValid(text ?? this.text);\r\n\r\n if (this.liveValidate === 'always') {\r\n this.setValidClass(isValid);\r\n } else if (this.liveValidate === 'onlyOnValid') {\r\n this.setValidClass(isValid ? true : null);\r\n } else if (this.liveValidate === 'onlyOnInvalid') {\r\n this.setValidClass(!isValid ? false : null);\r\n }\r\n return isValid;\r\n }\r\n\r\n @Watch('liveValidate')\r\n public liveValidateChange() {\r\n this.validate();\r\n }\r\n\r\n set inputField(text: string) {\r\n this.text = text;\r\n this.validate(text);\r\n }\r\n\r\n get inputField(): string {\r\n return this.text;\r\n }\r\n\r\n public isValid(text: string) {\r\n if (!this.required) {\r\n return true;\r\n }\r\n\r\n let isValid = true;\r\n if (this.type === 'number') {\r\n isValid = this.validateNumber(text);\r\n } else if (this.type === 'password') {\r\n isValid = this.validatePassword(text);\r\n } else if (this.type === 'email') {\r\n isValid = this.validateEmail(text);\r\n } else {\r\n isValid = this.validateText(text);\r\n }\r\n\r\n if (this.validator != null) {\r\n isValid = this.validator(text);\r\n }\r\n\r\n if (this.isValidCb != null) {\r\n this.isValidCb(isValid);\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n public setValidClass(isValid: boolean) {\r\n if (isValid != null) {\r\n this.input.classList.add(isValid ? 'is-valid' : 'is-invalid');\r\n this.input.classList.remove(isValid ? 'is-invalid' : 'is-valid');\r\n } else {\r\n this.input.classList.remove('is-valid');\r\n this.input.classList.remove('is-invalid');\r\n }\r\n }\r\n\r\n private validateText(text: string): boolean {\r\n let isValid = !this.required || (!!text && text.length > 0);\r\n return isValid;\r\n }\r\n\r\n private validateNumber(text: string): boolean {\r\n return stringUtils.isNumeric(text, this.required);\r\n }\r\n\r\n private validatePassword(text: string): boolean {\r\n let isValid = !this.required || (!!text && text.length > 0);\r\n if (!this.skipNormalValidation) {\r\n isValid = isValid && !!text && text.length >= 8;\r\n }\r\n return isValid;\r\n }\r\n\r\n private validateEmail(text: string): boolean {\r\n let isValid = true;\r\n if (this.required || (!!text && text.length > 0)) {\r\n const format = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,6}$/;\r\n isValid = isValid && format.test(text);\r\n isValid = this.skipNormalValidation || isValid;\r\n }\r\n return isValid;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-field.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-field.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-input-field.vue?vue&type=template&id=4e633faa&scoped=true&\"\nimport script from \"./base-input-field.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-input-field.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4e633faa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-check my-2\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected),expression:\"selected\"}],staticClass:\"form-check-input\",attrs:{\"id\":_vm.uid,\"type\":\"radio\",\"disabled\":_vm.disabled},domProps:{\"value\":_vm.radioValue,\"checked\":_vm._q(_vm.selected,_vm.radioValue)},on:{\"change\":function($event){_vm.selected=_vm.radioValue}}}),_c('label',{staticClass:\"form-check-label fw-normal\",attrs:{\"for\":_vm.uid}},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\nlet uid = 0;\r\n\r\n@Component\r\nexport default class BaseInputRadio extends Vue {\r\n @VModel() selected: any;\r\n @Prop({required: true}) radioValue: any;\r\n @Prop({required: true}) text: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n\r\n get uid(): string {\r\n uid += 1;\r\n return 'radio' + uid;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-radio.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-radio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-input-radio.vue?vue&type=template&id=12a1b7fc&scoped=true&\"\nimport script from \"./base-input-radio.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-input-radio.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"12a1b7fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"selector btn-group\"},_vm._l((_vm.optionsValues),function(option){return _c('label',{key:option,staticClass:\"selector-input\",class:[\n _vm.isChecked(option) ? 'is-checked' : '',\n 'btn',\n _vm.disabled ? \"btn-outline-disabled\" : (\"btn-outline-\" + _vm.variant),\n (\"py-\" + _vm.buttonPaddingY),\n (\"px-\" + _vm.buttonPaddingX),\n 'my-auto' ].concat( _vm.labelClass ),attrs:{\"id\":(\"selector-label-\" + option),\"for\":option},on:{\"click\":function () { return _vm.clicked(option); }}},[(!_vm.disabled)?_c('input',{staticClass:\"btn-check\",attrs:{\"type\":_vm.multiSelect ? 'checkbox' : 'radio',\"name\":option},domProps:{\"checked\":_vm.isChecked(option)}}):_vm._e(),_vm._t(option,function(){return [_vm._v(\" \"+_vm._s(option)+\" \")]})],2)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component({})\r\nexport default class BaseInputSelect extends Vue {\r\n @VModel({ required: true }) model: string | string[]\r\n @Prop({ default: null }) options: string[];\r\n\r\n @Prop({ default: 'primary' }) variant: string;\r\n @Prop({ default: '2' }) buttonPaddingY: string;\r\n @Prop({ default: '3' }) buttonPaddingX: string;\r\n @Prop({ default: () => {[]} }) labelClass: string[];\r\n // @Prop({ default: false }) disabled: boolean;\r\n\r\n get multiSelect() {\r\n return this.model.constructor.name === 'Array'\r\n }\r\n\r\n get disabled() {\r\n return this.model == null;\r\n }\r\n\r\n get optionsValues() {\r\n if (this.options != null) {\r\n return this.options;\r\n }\r\n return Object.keys(this.$slots);\r\n }\r\n\r\n isChecked(val: string) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (!this.multiSelect) {\r\n return val == this.model;\r\n } else {\r\n return (this.model as string[]).some((val0) => val === val0);\r\n }\r\n }\r\n\r\n clicked(val: string) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n if (!this.multiSelect) {\r\n this.model = val;\r\n } else if ((this.model as string[]).some((val0) => val0 === val)) {\r\n this.model = (this.model as string[]).filter((val0) => val0 !== val);\r\n } else {\r\n this.model = [ ...this.model, val ];\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-select.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-select.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-input-select.vue?vue&type=template&id=3b0e0132&scoped=true&\"\nimport script from \"./base-input-select.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-input-select.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./base-input-select.vue?vue&type=style&index=0&id=3b0e0132&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b0e0132\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-field\"},[(_vm.label)?_c('label',{staticClass:\"mb-1\"},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('div',{staticClass:\"input-group has-validation\"},[(_vm.inputGroupTextBefore)?_c('span',{staticClass:\"input-group-text\"},[_vm._v(_vm._s(_vm.inputGroupTextBefore))]):_vm._e(),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.text),expression:\"text\",modifiers:{\"trim\":true}}],ref:\"textArea\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"placeholder\":_vm.placeholder,\"aria-label\":_vm.placeholder,\"required\":_vm.required,\"disabled\":_vm.disabled,\"rows\":_vm.rows},domProps:{\"value\":(_vm.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.text=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_vm._v(\" \"),(_vm.inputGroupTextAfter)?_c('span',{staticClass:\"input-group-text\"},[_vm._v(_vm._s(_vm.inputGroupTextAfter))]):_vm._e(),(_vm.invalidText)?_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\" \"+_vm._s(_vm.invalidText)+\" \")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class BaseInputTextarea extends Vue {\r\n @VModel() text: string;\r\n @Prop({ required: true }) id: string;\r\n @Prop() label: string;\r\n @Prop() inputGroupTextBefore: string;\r\n @Prop() inputGroupTextAfter: string;\r\n @Prop() placeholder: string;\r\n @Prop() invalidText: string;\r\n @Prop({ default: false }) required: boolean\r\n @Prop({ default: null }) validator: (val: string) => boolean;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: 3 }) rows: number;\r\n @Ref() textArea: HTMLTextAreaElement;\r\n\r\n public validate(): boolean {\r\n let isValid = true;\r\n if (this.required) {\r\n isValid = !!this.text && this.text.length > 0;\r\n }\r\n if (this.validator != null) {\r\n isValid = isValid && this.validator(this.text);\r\n }\r\n this.setValidClass(isValid);\r\n return isValid;\r\n }\r\n\r\n public setValidClass(isValid: boolean) {\r\n if (isValid != null && isValid != undefined) {\r\n this.textArea.classList.add(isValid ? 'is-valid' : 'is-invalid');\r\n this.textArea.classList.remove(isValid ? 'is-invalid' : 'is-valid');\r\n } else {\r\n this.textArea.classList.remove('is-valid');\r\n this.textArea.classList.remove('is-invalid');\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-textarea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./base-input-textarea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./base-input-textarea.vue?vue&type=template&id=24fab747&scoped=true&\"\nimport script from \"./base-input-textarea.vue?vue&type=script&lang=ts&\"\nexport * from \"./base-input-textarea.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24fab747\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"input-phone\"},[(_vm.label)?_c('label',[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e(),_c('VueTelInput',{attrs:{\"auto-format\":\"\",\"disabled\":_vm.disabled,\"preferred-countries\":_vm.preferredCountries,\"default-country\":_vm.domainCountry,\"valid-characters-only\":true,\"input-options\":_vm.inputOptions,\"style-classes\":\"rounded border-0 text-black\"},on:{\"input\":_vm.phoneInput},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:\"input\"}}),(_vm.invalidText)?_c('div',{staticClass:\"invalid-feedback\",class:{ 'd-block': _vm.isValidated && !_vm.valid }},[_c('BaseAlert',{attrs:{\"type\":\"danger\",\"padding-y\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.invalidText)+\" \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport * as domainUtils from '@/util/domain-utils';\r\nimport { Component, Prop, Vue } from 'vue-property-decorator';\r\nimport { VueTelInput } from 'vue-tel-input';\r\n\r\n@Component({\r\n components: {\r\n VueTelInput,\r\n },\r\n})\r\nexport default class InputPhone extends Vue {\r\n @Prop() number: string;\r\n @Prop({ default: 45 }) callingCode: number;\r\n @Prop() label: string;\r\n @Prop({ default: false }) disabled: boolean;\r\n @Prop({ default: false }) required: boolean;\r\n @Prop({ default: null }) validator: (val: string) => boolean;\r\n @Prop() invalidText: string;\r\n\r\n input: string = null;\r\n\r\n valid: boolean = null;\r\n isValidated = false;\r\n\r\n mounted() {\r\n const start: string = this.callingCode ? `+${this.callingCode}` : '45';\r\n if (this.number && !this.number.startsWith(start)) {\r\n this.input = `+${this.callingCode ? this.callingCode : '45'}${this.number}`\r\n }\r\n }\r\n\r\n get computedInput() {\r\n if (this.input && !this.input.startsWith('+')) {\r\n this.input = `+45${this.input}`;\r\n }\r\n return this.input;\r\n }\r\n\r\n get inputOptions() {\r\n return {\r\n required: this.required,\r\n styleClasses: this.inputStyleClasses,\r\n showDialCode: true,\r\n }\r\n }\r\n\r\n get inputStyleClasses() {\r\n return this.isValidated && this.valid !== null\r\n ? `form-control ${this.valid ? 'is-valid' : 'is-invalid'}`\r\n : 'form-control';\r\n }\r\n\r\n get preferredCountries() {\r\n return this.$vmx.domain.domains.map(d => d.tld);\r\n }\r\n\r\n get domainCountry() {\r\n return domainUtils.domain.tld;\r\n }\r\n\r\n phoneInput(number: string, phoneOutput: any) {\r\n this.valid = phoneOutput.valid;\r\n // this.input = phoneOutput.number;\r\n // this.input = number;\r\n this.$emit('nationalNumber', phoneOutput.nationalNumber);\r\n this.$emit('countryCallingCode', phoneOutput.countryCallingCode);\r\n this.$emit('number', phoneOutput.number);\r\n this.$emit('formatted', phoneOutput.formatted);\r\n }\r\n\r\n countryChanged(countryObject: any) {\r\n this.$emit('countryChange', +(countryObject.dialcode as string));\r\n }\r\n\r\n public validate(): boolean {\r\n if (this.validator != null) {\r\n this.valid = this.valid && this.validator(this.input);\r\n }\r\n\r\n this.isValidated = true;\r\n return this.valid;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-phone.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-phone.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./input-phone.vue?vue&type=template&id=e38c86dc&scoped=true&\"\nimport script from \"./input-phone.vue?vue&type=script&lang=ts&\"\nexport * from \"./input-phone.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e38c86dc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"select-tag-input\"},[_c('label',[_vm._v(\" \"+_vm._s(_vm.computedTitle)+\" \")]),_c('div',{staticClass:\"position-relative mb-2\"},[_c('div',{class:[_vm.bordered ? 'bordered' : '', 'rounded', (\"bg-\" + _vm.backgroundColor)]},[_c('ul',{class:_vm.ulClassList},[_vm._l((_vm.tags),function(tag,index){return _c('li',{key:index,staticClass:\"d-flex flex-row align-items-center\"},[_c('span',{staticClass:\"rounded-3 h-auto px-2 m-1\",class:[(\"bg-\" + _vm.tagColor)]},[_c('span',{staticClass:\"me-1\"},[_vm._v(\" \"+_vm._s(_vm.displayProp(tag))+\" \")]),_c('span',[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'times-circle']},on:{\"click\":function($event){$event.preventDefault();return _vm.removeOption(index)}}})],1)])])}),_c('li',{staticClass:\"p-1 d-flex flex-row align-items-center flex-grow-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchText),expression:\"searchText\"}],ref:\"inputField\",staticClass:\"h-100 flex-grow-1\",attrs:{\"type\":\"text\",\"placeholder\":_vm.computedPlaceholder,\"aria-label\":_vm.placeholder},domProps:{\"value\":(_vm.searchText)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.addSearchOption()},\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value}}})])],2),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDropdown && _vm.matchingOptions),expression:\"showDropdown && matchingOptions\"}],ref:\"dropdown\",class:_vm.dropdownClassList,staticStyle:{\"z-index\":\"100\"},attrs:{\"tabindex\":\"-1\"}},_vm._l((_vm.matchingOptions),function(option,index){return _c('li',{key:index,class:_vm.dropdownItemClassList(index),attrs:{\"tabindex\":\"-1\"},on:{\"mouseover\":function($event){_vm.hoverIndex = index},\"click\":function($event){$event.preventDefault();return _vm.addOption(index)},\"touch\":function($event){$event.preventDefault();return _vm.addOption(index)}}},[_vm._v(\" \"+_vm._s(_vm.displayProp(option))+\" \")])}),0)])]),_c('div',{staticClass:\"row row-cols-auto g-3\"},[_c('div',{staticClass:\"col\"},[_c('BaseButton',{attrs:{\"with-spinner\":false,\"style-classes\":\"roboto fw-medium\",\"variant\":\"outline-primary\",\"padding-x\":\"2\",\"padding-y\":\"1\"},on:{\"click\":function($event){return _vm.selectAll()}}},[_vm._v(\" \"+_vm._s(_vm.computedChooseAllLabel)+\" \")])],1),_c('div',{staticClass:\"col\"},[_c('BaseButton',{attrs:{\"with-spinner\":false,\"style-classes\":\"roboto fw-medium\",\"variant\":\"outline-primary\",\"padding-x\":\"2\",\"padding-y\":\"1\"},on:{\"click\":function($event){return _vm.removeAll()}}},[_vm._v(\" \"+_vm._s(_vm.computedClearLabel)+\" \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\n\r\n@Component\r\nexport default class InputTags extends Vue {\r\n @VModel() tags: any[];\r\n @Prop({ required: true }) options: any[];\r\n @Prop() placeholder: string;\r\n @Prop() title: string;\r\n @Prop({ default: true }) canClearAll: boolean;\r\n @Prop({ default: true }) bordered: boolean;\r\n @Prop({ default: 'white' }) backgroundColor: string;\r\n @Prop({ default: 'secondary-background' }) tagColor: string;\r\n @Prop({ default: (e: any):string => e }) displayProp: Function;\r\n @Prop() chooseAllLabel: string;\r\n @Prop() clearLabel: string;\r\n @Ref() inputField: HTMLInputElement;\r\n @Ref() dropdown: HTMLUListElement;\r\n searchText = '';\r\n hoverIndex: -1;\r\n showDropdown = false;\r\n inputFocus = false;\r\n dropdownFocus = false;\r\n\r\n mounted() {\r\n this.inputField.addEventListener('focusin', () => {\r\n this.inputFocus = true;\r\n this.showDropdown = true;\r\n });\r\n this.inputField.addEventListener('focusout', () => {\r\n this.inputFocus = false;\r\n globalFunctions.timeout(50).then(() => {\r\n if (!this.dropdownFocus) {\r\n this.showDropdown = false;\r\n this.hoverIndex = -1\r\n }\r\n })\r\n });\r\n this.dropdown.addEventListener('focusin', () => {\r\n this.dropdownFocus = true;\r\n });\r\n this.dropdown.addEventListener('focusout', () => {\r\n this.dropdownFocus = false;\r\n this.showDropdown = false;\r\n })\r\n }\r\n\r\n get computedTitle(): string {\r\n return this.title ? this.title : (this.$t('components.selectTagInput.text') as string);\r\n }\r\n\r\n get computedPlaceholder(): string {\r\n return this.placeholder ? this.placeholder : (this.$t('components.selectTagInput.placeholder') as string);\r\n }\r\n\r\n get computedChooseAllLabel(): string {\r\n return this.chooseAllLabel ? this.chooseAllLabel : (this.$t('components.selectTagInput.selectAll') as string);\r\n }\r\n\r\n get computedClearLabel(): string {\r\n return this.clearLabel ? this.clearLabel : (this.$t('components.selectTagInput.clear') as string);\r\n }\r\n\r\n get ulClassList(): string[] {\r\n return [\r\n 'overflow-x-auto',\r\n 'd-flex',\r\n 'flex-wrap',\r\n 'list-reset',\r\n 'p-1',\r\n 'p-1',\r\n 'm-0',\r\n 'w-auto',\r\n ]\r\n }\r\n\r\n get matchingOptions(): any[] {\r\n return this.options.filter((option) => {\r\n return !this.tags.includes(option) && (this.displayProp(option) as string).toLowerCase().startsWith(this.searchText.toLowerCase());\r\n });\r\n }\r\n\r\n get dropdownClassList(): string[] {\r\n return [\r\n 'position-absolute',\r\n 'w-100',\r\n 'overflow-x-auto',\r\n 'overflow-y-scroll',\r\n 'appearance-none',\r\n 'text-start',\r\n 'list-reset',\r\n 'bg-white',\r\n 'rounded',\r\n 'border',\r\n 'border-secondary',\r\n 'dropdown',\r\n ]\r\n }\r\n\r\n dropdownItemClassList(index: number): string[] {\r\n return [\r\n 'dropdown-item',\r\n index === this.hoverIndex ? 'dropdown-hover' : '',\r\n ];\r\n }\r\n\r\n addOption(index: number) {\r\n const option = this.matchingOptions[index];\r\n if (!this.tags.includes(option)) {\r\n this.tags.push(option);\r\n this.searchText = '';\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n addSearchOption() {\r\n if (\r\n this.options.some(option => this.displayProp(option) === this.searchText)\r\n && !this.tags.some(tag => this.displayProp(tag) === this.searchText)\r\n ) {\r\n this.tags.push(this.options.find(option => this.displayProp(option) === this.searchText));\r\n this.searchText = '';\r\n }\r\n }\r\n\r\n removeOption(index: number) {\r\n if (this.tags && this.tags.length > 0) {\r\n this.tags.splice(index, 1);\r\n }\r\n }\r\n\r\n selectAll() {\r\n this.options.forEach((option) => {\r\n if (!this.tags.some(tag => this.displayProp(tag) === this.displayProp(option))) {\r\n this.tags.push(option)\r\n }\r\n });\r\n }\r\n\r\n removeAll() {\r\n this.tags = [];\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-tags.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./input-tags.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./input-tags.vue?vue&type=template&id=42488cee&scoped=true&\"\nimport script from \"./input-tags.vue?vue&type=script&lang=ts&\"\nexport * from \"./input-tags.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./input-tags.vue?vue&type=style&index=0&id=42488cee&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42488cee\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.hideHeaderFooter)?_c('div',{staticClass:\"row bg-background\"},[_c('div',{staticClass:\"col-12 bg-background px-0 px-md-5 pb-3\"},[_c('TheHeader')],1)]):_vm._e(),_c('div',{staticClass:\"row bg-background\"},[_c('div',{staticClass:\"col-12 bg-background pb-5\"},[_c('div',{staticClass:\"row gy-4\"},[(!_vm.loading && _vm.requireLogin && _vm.isLoggedIn)?_c('div',{staticClass:\"col-12 px-md-5\"},[_c('ModalPaywall',{attrs:{\"modal-id\":_vm.paywallModalId}}),_c('ModalAgentDelete'),_c('ModalAgentReplace'),_c('ModalAgentSettings'),_c('ModalBlacklistRemove'),_c('ModalBlacklistSettings'),_c('ModalCompanyListAdd'),_c('ModalCompanyListRemove'),_c('ModalCompanyListSettings'),_c('ModalListAdd'),_c('ModalListRemove'),_c('ModalListSettings'),_c('ModalTip'),_c('keep-alive',{attrs:{\"include\":['searchView']}},[_c('router-view',{staticClass:\"min-vh-100\"})],1)],1):(!_vm.loading && !_vm.requireLogin && _vm.isLoggedIn)?_c('div',{staticClass:\"col-12 px-md-5\"},[_c('router-view',{staticClass:\"min-vh-100\"})],1):(!_vm.loading && _vm.requireLogin && !_vm.isLoggedIn)?_c('div',{staticClass:\"col-12 px-md-5\"},[_c('TheLoginPrompt')],1):(!_vm.loading && !_vm.requireLogin && !_vm.isLoggedIn)?_c('div',{staticClass:\"col-12 px-md-5\"},[_c('router-view',{staticClass:\"min-vh-100\"})],1):_c('div',{staticStyle:{\"height\":\"100vh\"}})]),(_vm.notifications && _vm.notifications.length > 0)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col\"},[_c('NotificationSidebar',{attrs:{\"notifications\":_vm.notifications,\"left\":false,\"overlay-clickable\":false},model:{value:(_vm.showSidebar),callback:function ($$v) {_vm.showSidebar=$$v},expression:\"showSidebar\"}})],1)]):_vm._e()])]),(!_vm.hideHeaderFooter)?_c('div',{staticClass:\"row bg-trademark-125\"},[_c('div',{staticClass:\"col-12\"},[_c('TheFooter')],1)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.agent.remove.title', [_vm.agent ? _vm.agent.name : '']))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.modals.agent.remove.text'))}})])],1),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openAgentSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteAgent}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport { Agent } from '@/interfaces/agent';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n ModalAgentSettings,\r\n },\r\n})\r\nexport default class ModalAgentReplace extends Vue {\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get agent(): Agent {\r\n return this.$vmx.modal.agent;\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.AGENT_DELETE_MODAL;\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.agent) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n async deleteAgent() {\r\n this.submitting = true;\r\n try {\r\n await this.$vmx.agent.deleteAgent(this.agent);\r\n this.hideModal();\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n openAgentSettingsModal() {\r\n this.$vmx.modal.openAgentSettingsModal(this.agent);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-delete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-agent-delete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-agent-delete.vue?vue&type=template&id=60968355&scoped=true&\"\nimport script from \"./modal-agent-delete.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-agent-delete.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60968355\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-blacklist-remove\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.blacklist.remove.title'))+\" \")]},proxy:true}])},[(_vm.loading || !_vm.blacklist)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.blacklist.remove.text', [_vm.dataObject.name]))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-between\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openBlacklistSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.blacklist.settings.settings'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteBlacklist,\"disabled\":!_vm.blacklist}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalBlacklistRemove extends Vue {\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.dataObject) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.BLACKLIST_REMOVE_MODAL;\r\n }\r\n\r\n get dataObject(): Project | Procurement | ProcurementReference {\r\n return this.$vmx.modal.blacklistObject;\r\n }\r\n\r\n get blacklist() {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\r\n return this.$vmx.blacklist.blacklists\r\n ?.filter((blacklist: Blacklist) =>\r\n isProcurement || (blacklist?.projectId === this.dataObject.id),\r\n )\r\n ?.filter((blacklist: Blacklist) =>\r\n !isProcurement || (blacklist?.procurementId === this.dataObject.id),\r\n )\r\n ?.pop() ?? null;\r\n }\r\n\r\n async deleteBlacklist() {\r\n if (this.blacklist) {\r\n this.submitting = true;\r\n try {\r\n await this.$vmx.blacklist.deleteBlacklist(this.blacklist.id);\r\n this.error = false;\r\n this.hideModal();\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n } else {\r\n this.error = true;\r\n }\r\n }\r\n\r\n openBlacklistSettingsModal() {\r\n this.$vmx.modal.openBlacklistSettingsModal(this.dataObject);\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-blacklist-remove.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-blacklist-remove.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-blacklist-remove.vue?vue&type=template&id=7fc89b86&scoped=true&\"\nimport script from \"./modal-blacklist-remove.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-blacklist-remove.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fc89b86\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-blacklist\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(_vm.blacklist && _vm.blacklist.id)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.blacklist.settings.titleEdit'))+\" \")]):(_vm.blacklist && !_vm.blacklist.id)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.blacklist.settings.titleNew'))+\" \")]):_vm._e()]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[(_vm.colleagues.length > 1)?_c('div',[(_vm.blacklist != null && !_vm.isUserOnBlacklist)?_c('BaseAlert',{attrs:{\"type\":\"warning\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.modals.blacklist.settings.alreadyBlacklisted'))}})]):_vm._e(),_c('InputTags',{attrs:{\"options\":_vm.colleagues,\"display-prop\":function (user) { return user.name; },\"title\":_vm.$t('components.modals.blacklist.settings.companyShare'),\"placeholder\":_vm.$t('components.inputField.companyShare.placeholder'),\"choose-all-label\":_vm.$t('components.inputField.companyShare.chooseAll')},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}})],1):_vm._e()]),_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('components.modals.blacklist.settings.text', [_vm.dataObject.name]))}})])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.persistBlacklist,\"disabled\":(_vm.colleagues.length <= 1 || _vm.selectedUsers.length < 1) && _vm.colleagues.length > 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Blacklist } from '@/interfaces/blacklist';\r\nimport { blacklistService } from '@/services/restapi/blacklist-service';\r\nimport { formatUtils } from '@/util/format-utils';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalBlacklistSettings extends Vue {\r\n blacklist: Blacklist = null;\r\n users: User[] = [];\r\n selectedUsers: User[] = [];\r\n\r\n submitting = false;\r\n error = false;\r\n loading = true;\r\n\r\n mounted() {\r\n this.setEventListeners();\r\n }\r\n\r\n activated() {\r\n this.setEventListeners();\r\n }\r\n\r\n setEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.dataObject) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.checkLoaded();\r\n }\r\n\r\n @Watch('$vmx.user.colleagues')\r\n @Watch('$vmx.user.user')\r\n checkLoaded() {\r\n const initLoading = !this.dataObject || this.colleagues == null || this.user == null;\r\n if (!initLoading) {\r\n this.blacklist = this.blacklistFromStore;\r\n this.users = this.colleagues;\r\n\r\n this.selectedUsers = this.users?.filter(\r\n (colleage) => this.blacklist?.usersIds?.some((userId) => userId === colleage.id),\r\n );\r\n this.selectedUsers = this.selectedUsers.some((user) => user.id === this.user.id)\r\n ? this.selectedUsers\r\n : this.selectedUsers.concat(this.user);\r\n this.loading = false;\r\n }\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.BLACKLIST_SETTINGS_MODAL;\r\n }\r\n\r\n get dataObject(): Project | Procurement | ProcurementReference {\r\n return this.$vmx.modal.blacklistObject;\r\n }\r\n\r\n get user(): User {\r\n return this.$vmx.user.user;\r\n }\r\n\r\n get colleagues(): User[] {\r\n return this.$vmx.user.colleagues;\r\n }\r\n\r\n get selectedUsersFromStore(): User[] {\r\n const selectedUsers = this.users?.filter(\r\n (colleage) => this.blacklist?.usersIds?.some((userId) => userId === colleage.id),\r\n );\r\n\r\n return selectedUsers.some((user) => user.id === this.user.id)\r\n ? selectedUsers\r\n : selectedUsers.concat(this.user);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n get blacklistFromStore(): Blacklist {\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\r\n return this.$vmx.blacklist.blacklists\r\n ?.filter((blacklist: Blacklist) =>\r\n isProcurement || (blacklist?.projectId === this.dataObject.id),\r\n )\r\n ?.filter((blacklist: Blacklist) =>\r\n !isProcurement || (blacklist?.procurementId === this.dataObject.id),\r\n )\r\n ?.pop() ?? this.createNewBlacklist(isProcurement);\r\n }\r\n\r\n get isUserOnBlacklist(): boolean {\r\n return this.blacklist != null\r\n && (this.blacklist?.usersIds.some((userId) => userId == this.$vmx.user.user.id) ?? false);\r\n }\r\n\r\n private createNewBlacklist(isProcurement: boolean): Blacklist {\r\n const newBlacklist: Blacklist = {\r\n id: null,\r\n created: formatUtils.formatDate(new Date(), 'YYYY-MM-DD HH:mm'),\r\n usersIds: [this.$vmx.user.user.id],\r\n userIsOnList: true,\r\n }\r\n if (isProcurement) {\r\n newBlacklist.procurementId = this.dataObject.id;\r\n } else {\r\n newBlacklist.projectId = this.dataObject.id;\r\n }\r\n return newBlacklist;\r\n }\r\n\r\n async persistBlacklist() {\r\n this.submitting = true;\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\r\n const blCopy = this.blacklist && this.blacklist.id ? {...this.blacklist} : this.createNewBlacklist(isProcurement);\r\n blCopy.usersIds = this.selectedUsers.map((user) => user.id);\r\n let newBlacklist: Blacklist = null;\r\n try {\r\n if (blCopy.id) {\r\n newBlacklist = await blacklistService.editBlacklist(blCopy);\r\n } else {\r\n newBlacklist = await blacklistService.createBlacklist(blCopy);\r\n }\r\n if (newBlacklist != null) {\r\n this.error = false;\r\n this.$vmx.blacklist.pushBlacklist(newBlacklist);\r\n this.hideModal();\r\n } else {\r\n this.error = true;\r\n }\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-blacklist-settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-blacklist-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-blacklist-settings.vue?vue&type=template&id=20b97452&scoped=true&\"\nimport script from \"./modal-blacklist-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-blacklist-settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"20b97452\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-company-list-add\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.add.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.loadingError)?_c('div',[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-4 g-2\",class:_vm.buttonRowClasses},[(_vm.originalCompanyLists)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openCompanyListRemoveModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.add.removeButton'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.add.text'))+\" \")])]),(_vm.chosenCompanyList)?_c('div',_vm._l((_vm.$vmx.companyList.companyLists),function(companyList){return _c('BaseInputRadio',{key:companyList.id,attrs:{\"radio-value\":companyList,\"text\":companyList.name},model:{value:(_vm.chosenCompanyList),callback:function ($$v) {_vm.chosenCompanyList=$$v},expression:\"chosenCompanyList\"}})}),1):_c('div',[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.add.noCompanyLists'))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openCompanyListSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.add.createNewButton'))+\" \")])],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalCompanyListAdd extends Vue {\r\n chosenCompanyList: CompanyList = null;\r\n originalCompanyLists: CompanyList[] = null;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n loadingError = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n 'justify-content-end',\r\n `justify-content-sm-${this.originalCompanyLists ? 'between' : 'end'}`,\r\n ];\r\n }\r\n\r\n get company(): Company {\r\n return this.$vmx.modal.company;\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.COMPANY_LIST_ADD_MODAL;\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.company) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.originalCompanyLists = null;\r\n this.$vmx.companyList.fetchCompanyLists().then(() => {\r\n if (this.$vmx.companyList.companyLists != null && this.$vmx.companyList.companyLists.length > 0) {\r\n const listsWithCompany = this.$vmx.companyList.companyListsWithCompany(this.company);\r\n if (listsWithCompany != null && listsWithCompany.length > 0) {\r\n this.chosenCompanyList = listsWithCompany[0];\r\n this.originalCompanyLists = listsWithCompany;\r\n } else {\r\n this.chosenCompanyList = this.$vmx.companyList.companyLists[0];\r\n }\r\n }\r\n }).catch(() => {\r\n this.loadingError = true;\r\n }).finally(() => this.loading = false);\r\n }\r\n\r\n openCompanyListRemoveModal() {\r\n this.$vmx.modal.openCompanyListRemoveModal(this.company);\r\n }\r\n\r\n openCompanyListSettingsModal() {\r\n this.$vmx.modal.openCompayListSettingsModal({ companyList: null, company: this.company })\r\n }\r\n\r\n async submit() {\r\n if (this.submitting) {\r\n return;\r\n }\r\n this.submitting = true;\r\n if (\r\n !this.originalCompanyLists == null\r\n && !this.originalCompanyLists.some(companyList => companyList.id != this.chosenCompanyList.id)\r\n ) {\r\n this.submitting = false;\r\n return;\r\n }\r\n\r\n const companyListsToUpdate: CompanyList[] = [];\r\n\r\n if (this.originalCompanyLists && this.originalCompanyLists.length > 0) {\r\n const removedLists = this.originalCompanyLists\r\n .filter(companyList =>\r\n companyList.id != this.chosenCompanyList.id,\r\n );\r\n removedLists.forEach((companyList) => {\r\n companyList.companies = companyList.companies.filter(company => company.id != this.company.id);\r\n companyListsToUpdate.push(companyList);\r\n });\r\n }\r\n\r\n if (\r\n this.chosenCompanyList.companies\r\n && !this.chosenCompanyList.companies.some(company => company.id === this.company.id)\r\n ) {\r\n this.chosenCompanyList.companies.push({\r\n id: this.company.id,\r\n name: this.company.companyName,\r\n })\r\n companyListsToUpdate.push(this.chosenCompanyList);\r\n }\r\n\r\n try {\r\n for (const companyListToUpdate of companyListsToUpdate) {\r\n const companyList = await this.$vmx.companyList.putCompanyList(companyListToUpdate);\r\n if (companyList) {\r\n this.error = false;\r\n } else {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n if (!this.error) {\r\n this.hideModal();\r\n }\r\n this.submitting = false;\r\n } catch {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-add.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-add.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-list-add.vue?vue&type=template&id=048f5037&scoped=true&\"\nimport script from \"./modal-company-list-add.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-list-add.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"048f5037\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-company-list-remove\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.remove.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.remove.text'))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),(_vm.companyListsWithCompany.length > 1)?_c('div',{staticClass:\"col-12\"},_vm._l((_vm.companyListsWithCompany),function(companyList){return _c('BaseInputCheckbox',{key:companyList.id,attrs:{\"value\":_vm.selectedContainsCompanyList(companyList.id),\"text\":_vm.createCompanyListName(companyList)},on:{\"checked\":function($event){return _vm.addCompanyList(companyList)},\"unchecked\":function($event){return _vm.removeCompanyList(companyList)}}})}),1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":_vm.selectedCompanyLists.length < 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalCompanyListRemove extends Vue {\r\n selectedCompanyLists: CompanyList[] = [];\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get company(): Company {\r\n return this.$vmx.modal.company;\r\n }\r\n\r\n get companyListsWithCompany(): CompanyList[] {\r\n return this.$vmx.companyList.companyListsWithCompany(this.company);\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.COMPANY_LIST_REMOVE_MODAL;\r\n }\r\n\r\n addCompanyList(companyList: CompanyList) {\r\n if (!this.selectedContainsCompanyList(companyList.id)) {\r\n this.selectedCompanyLists.push(companyList);\r\n }\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n createCompanyListName(companyList: CompanyList): string {\r\n const length = companyList.paUserIds.length;\r\n if (length > 1) {\r\n return `${companyList.name} (${this.$tc('components.iconBar.list.sharedWidth', length - 1, [length - 1])})`;\r\n }\r\n return companyList.name;\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (this.companyListsWithCompany.length > 0) {\r\n this.selectedCompanyLists.push(this.companyListsWithCompany[0]);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n removeCompanyList(id: number) {\r\n if (this.selectedContainsCompanyList(id)) {\r\n const index = this.selectedCompanyLists.findIndex((companyList) => companyList.id === id);\r\n if (index >= 0) {\r\n this.selectedCompanyLists.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.selectedCompanyLists.length <= 0) {\r\n return;\r\n }\r\n this.submitting = true;\r\n this.error = false;\r\n try {\r\n for (const selectedCompanyList of this.selectedCompanyLists) {\r\n let newCompanyList: CompanyList = null;\r\n const index = selectedCompanyList.companies.findIndex(com => com.id == this.company.id);\r\n if (index >= 0) {\r\n selectedCompanyList.companies.splice(index, 1);\r\n newCompanyList = await this.$vmx.companyList.putCompanyList(selectedCompanyList);\r\n if (!newCompanyList) {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (!this.error) {\r\n this.$vmx.companyList.refetchCompanyLists();\r\n this.hideModal();\r\n }\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n selectedContainsCompanyList(id: number): boolean {\r\n return this.selectedCompanyLists.some(companyList => companyList.id === id);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-remove.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-remove.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-list-remove.vue?vue&type=template&id=079db676&scoped=true&\"\nimport script from \"./modal-company-list-remove.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-list-remove.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"079db676\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BaseModalContainer',{staticClass:\"modal-company-list-settings\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(_vm.companyList)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.settings.titleEdit'))+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.settings.titleNew'))+\" \")])]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-3\",class:_vm.buttonRowClasses},[(_vm.companyList)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openModal(_vm.deleteModalId)}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.delete'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":_vm.selectedUsers.length < 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row-gy-4\"},[_c('div',{staticClass:\"col-12\"},[(_vm.$vmx.user.hasColleagues)?_c('InputTags',{attrs:{\"options\":_vm.users,\"display-prop\":function (user) { return user.name; },\"title\":_vm.$t('components.modals.companyList.settings.companyShare'),\"placeholder\":_vm.$t('components.inputField.companyShare.placeholder'),\"choose-all-label\":_vm.$t('components.inputField.companyShare.chooseAll')},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}}):_vm._e()],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"companyListName\",attrs:{\"id\":\"companyListName\",\"required\":true,\"validator\":_vm.nameValidator,\"label\":_vm.$t('components.inputField.title.text'),\"placeholder\":_vm.$t('components.inputField.title.placeholder')},model:{value:(_vm.companyListCopy.name),callback:function ($$v) {_vm.$set(_vm.companyListCopy, \"name\", $$v)},expression:\"companyListCopy.name\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('FormMailTime',{model:{value:(_vm.companyListCopy.mailTime),callback:function ($$v) {_vm.$set(_vm.companyListCopy, \"mailTime\", $$v)},expression:\"companyListCopy.mailTime\"}})],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e()])])],1),_c('BaseModalContainer',{attrs:{\"modal-id\":_vm.deleteModalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.delete.title'))+\" \")]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyList.delete.text', [_vm.companyListCopy ? _vm.companyListCopy.name : '']))+\" \")])],1),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openModal(_vm.modalId)}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteCompanyList}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Company } from '@/interfaces/company';\r\nimport { CompanyList } from '@/interfaces/company-list';\r\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\r\nimport { MailTime } from '@/interfaces/enums/mail-time';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n FormMailTime,\r\n },\r\n})\r\nexport default class ModalCompanyListSettings extends Vue {\r\n @Ref() companyListName: BaseInputField;\r\n companyListCopy: CompanyList = null;\r\n listsWithCompany: CompanyList[] = null;\r\n users: User[] = [];\r\n selectedUsers: User[] = [];\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n `justify-content-${this.companyList ? 'between' : 'end'}`,\r\n ];\r\n }\r\n\r\n get company(): Company {\r\n return this.$vmx.modal.company;\r\n }\r\n\r\n get companyList(): CompanyList {\r\n return this.$vmx.modal.companyList;\r\n }\r\n\r\n get deleteModalId(): string {\r\n return `delete-${this.modalId}`;\r\n }\r\n\r\n get formIsValid(): boolean {\r\n return this.companyListName.validate() && this.selectedUsers.length > 0;\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.COMPANY_LIST_SETTINGS_MODAL;\r\n }\r\n\r\n @Watch('selectedUsers')\r\n selectedUsersChanged() {\r\n this.companyListCopy.paUserIds = this.selectedUsers.map(x => x.id);\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n \r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal(this.modalId);\r\n }\r\n }\r\n\r\n async createNewList(): Promise {\r\n const newCompanyList: CompanyList = {\r\n id: null,\r\n name: '',\r\n mailTime: MailTime.Daily,\r\n companies: [],\r\n paUserIds: [],\r\n }\r\n if (this.company) {\r\n newCompanyList.companies = [{\r\n id: this.company.id,\r\n name: this.company.companyName,\r\n }];\r\n }\r\n return newCompanyList;\r\n }\r\n\r\n async deleteCompanyList() {\r\n this.submitting = true;\r\n try {\r\n await this.$vmx.companyList.deleteCompanyList(this.companyListCopy.id)\r\n this.hideModal(this.deleteModalId);\r\n if (this.$route.name === RouterNames.LOGGED_IN_COMPANY_LIST_VIEW) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD});\r\n }\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n async getOriginalCompanyLists() {\r\n if (this.company) {\r\n await this.$vmx.companyList.fetchCompanyLists();\r\n if (this.$vmx.companyList.companyLists != null && this.$vmx.companyList.companyLists.length > 0) {\r\n this.listsWithCompany = this.$vmx.companyList.companyListsWithCompany(this.company)\r\n .filter(companyList => companyList.id != this.companyListCopy.id);\r\n }\r\n }\r\n }\r\n\r\n hideModal(modal: string) {\r\n const element = document.getElementById(modal);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (this.companyList) {\r\n this.companyListCopy = {...this.companyList};\r\n this.setUsers();\r\n this.getOriginalCompanyLists().then(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.createNewList().then((newCompanyList) => {\r\n this.companyListCopy = newCompanyList;\r\n this.setUsers();\r\n this.getOriginalCompanyLists().then(() => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n }\r\n\r\n private nameValidator(name: string): boolean {\r\n return name.trim().length >= 1 && name.trim().length <= 100;\r\n }\r\n\r\n openModal(id: string) {\r\n const element = document.getElementById(id);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n private setUsers() {\r\n const user = this.$vmx.user.user as User;\r\n this.users = this.$vmx.user.colleagues;\r\n if (this.companyListCopy.id) {\r\n this.selectedUsers = this.users.filter(x => this.companyListCopy.paUserIds.some(paUserId => paUserId === x.id));\r\n } else {\r\n this.selectedUsers = [user];\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n this.submitting = true;\r\n try {\r\n\r\n const companyListsToUpdate: CompanyList[] = [];\r\n\r\n if (this.listsWithCompany && this.listsWithCompany.length > 0) {\r\n const removedLists = this.listsWithCompany\r\n .filter(companyList =>\r\n companyList.id != this.companyListCopy.id,\r\n );\r\n removedLists.forEach((companyList) => {\r\n companyList.companies = companyList.companies.filter(company => company.id != this.company.id);\r\n companyListsToUpdate.push(companyList);\r\n });\r\n }\r\n\r\n for (const companyListToUpdate of companyListsToUpdate) {\r\n const companyList = await this.$vmx.companyList.putCompanyList(companyListToUpdate);\r\n if (companyList) {\r\n this.error = false;\r\n } else {\r\n this.error = true;\r\n return;\r\n }\r\n }\r\n\r\n if (this.companyListCopy.id) {\r\n await this.$vmx.companyList.putCompanyList(this.companyListCopy);\r\n this.error = false;\r\n this.submitting = false;\r\n this.hideModal(this.modalId);\r\n } else {\r\n await this.$vmx.companyList.postCompanyList(this.companyListCopy);\r\n this.error = false;\r\n this.submitting = false;\r\n this.hideModal(this.modalId);\r\n }\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-company-list-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-list-settings.vue?vue&type=template&id=42d15212&scoped=true&\"\nimport script from \"./modal-company-list-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-list-settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42d15212\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BaseModalContainer',{staticClass:\"modal-list-add\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.addToList.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',[(_vm.loadingError)?_c('div',[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-4 g-2\",class:_vm.buttonRowClasses},[(_vm.originalLists)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openListRemoveModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.remove.title'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.addToList.text'))+\" \")])]),(_vm.chosenList)?_c('div',{staticClass:\"col-12\"},_vm._l((_vm.$vmx.list.lists),function(list){return _c('BaseInputRadio',{key:list.id,attrs:{\"radio-value\":list,\"text\":list.name},model:{value:(_vm.chosenList),callback:function ($$v) {_vm.chosenList=$$v},expression:\"chosenList\"}})}),1):_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.addToList.noLists'))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openListSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.addToList.createNewButton'))+\" \")])],1)])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalListAdd extends Vue {\r\n chosenList: List = null;\r\n originalLists: List[] = null;\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n loadingError = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n 'justify-content-end',\r\n `justify-content-sm-${this.originalLists ? 'between' : 'end'}`,\r\n ];\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (!this.dataObject) {\r\n this.hideModal();\r\n return;\r\n }\r\n this.originalLists = null;\r\n this.$vmx.list.fetchLists().then(() => {\r\n if (this.hasList()) {\r\n const listsWithObject = this.$vmx.list.listsWithObject(this.dataObject);\r\n if (listsWithObject != null && listsWithObject.length > 0) {\r\n this.chosenList = listsWithObject[0];\r\n this.originalLists = listsWithObject;\r\n } else {\r\n this.chosenList = this.$vmx.list.lists[0];\r\n }\r\n }\r\n }).catch(() => {\r\n this.loadingError = true;\r\n }).finally(() => this.loading = false);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.LIST_ADD_MODAL;\r\n }\r\n\r\n get dataObject(): Procurement | Project | ProcurementReference {\r\n return this.$vmx.modal.listObject;\r\n }\r\n\r\n async submit() {\r\n if (this.submitting) {\r\n return;\r\n }\r\n this.submitting = true;\r\n // const activityLog = await globalFunctions.createActivityLogFromItem(this.dataObject);\r\n if (!this.originalLists == null && !this.originalLists.some(list => list.id != this.chosenList.id)) {\r\n this.submitting = false;\r\n return;\r\n }\r\n\r\n const listsToUpdate: List[] = [];\r\n\r\n if (this.originalLists && this.originalLists.length > 0) {\r\n const removedLists = this.originalLists.filter(list => list.id != this.chosenList.id);\r\n removedLists.forEach((list) => {\r\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\r\n if (list.procurements) {\r\n list.procurements = list.procurements.filter(procurementId => procurementId != this.dataObject.id);\r\n listsToUpdate.push(list);\r\n }\r\n } else {\r\n if (list.projects) {\r\n list.projects = list.projects.filter(projectId => projectId != this.dataObject.id);\r\n listsToUpdate.push(list);\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\r\n if (this.chosenList.procurements && !this.chosenList.procurements.some(procurementId => procurementId == this.dataObject.id)) {\r\n this.chosenList.procurements.push(this.dataObject.id);\r\n listsToUpdate.push(this.chosenList);\r\n }\r\n } else {\r\n if (this.chosenList.projects && !this.chosenList.projects.some(projId => projId == this.dataObject.id)) {\r\n this.chosenList.projects.push(this.dataObject.id);\r\n listsToUpdate.push(this.chosenList);\r\n }\r\n }\r\n\r\n try {\r\n for (const listToUpdate of listsToUpdate) {\r\n const list = await this.$vmx.list.putList(listToUpdate);\r\n if (list) {\r\n this.error = false;\r\n } else {\r\n this.error = true;\r\n break;\r\n }\r\n }\r\n if (!this.error) {\r\n this.hideModal();\r\n }\r\n this.submitting = false;\r\n } catch {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n openListSettingsModal() {\r\n this.$vmx.modal.openListSettingsModal({ list: null, listObject: this.dataObject });\r\n }\r\n\r\n openListRemoveModal() {\r\n this.$vmx.modal.openListRemoveModal(this.dataObject);\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n hasList() {\r\n return this.$vmx.list.lists != null && this.$vmx.list.lists.length > 0;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-add.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-add.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-list-add.vue?vue&type=template&id=23426b76&scoped=true&\"\nimport script from \"./modal-list-add.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-list-add.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"23426b76\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BaseModalContainer',{staticClass:\"modal-list-remove\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.remove.title'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.remove.text'))+\" \")])],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e(),(_vm.listsWithDataObject.length > 1)?_c('div',{staticClass:\"col-12\"},_vm._l((_vm.listsWithDataObject),function(list){return _c('BaseInputCheckbox',{key:list.id,attrs:{\"value\":_vm.selectedContainsList(list.id),\"text\":_vm.createListName(list)},on:{\"checked\":function($event){return _vm.addList(list)},\"unchecked\":function($event){return _vm.removeList(list)}}})}),1):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.removeFromLists,\"disabled\":_vm.selectedLists.length < 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\n\r\n@Component({\r\n components: {\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalListRemove extends Vue {\r\n selectedLists: List[] = [];\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (this.listsWithDataObject.length > 0) {\r\n this.selectedLists.push(this.listsWithDataObject[0])\r\n }\r\n this.loading = false;\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.LIST_REMOVE_MODAL;\r\n }\r\n\r\n get dataObject(): Project | Procurement | ProcurementReference {\r\n return this.$vmx.modal.listObject;\r\n }\r\n\r\n get listsWithDataObject(): List[] {\r\n return this.$vmx.list.listsWithObject(this.dataObject);\r\n }\r\n\r\n selectedContainsList(id: number): boolean {\r\n return this.selectedLists.some(list => list.id === id);\r\n }\r\n\r\n createListName(list: List) {\r\n const length = list.paUserIds.length;\r\n if (length > 1) {\r\n return `${list.name} (${this.$tc('components.iconBar.list.sharedWidth', length - 1, [length - 1])})`;\r\n }\r\n return list.name;\r\n }\r\n\r\n addList(list: List) {\r\n if (!this.selectedContainsList(list.id)) {\r\n this.selectedLists.push(list);\r\n }\r\n }\r\n\r\n removeList(id: number) {\r\n if (this.selectedContainsList(id)) {\r\n const index = this.selectedLists.findIndex((list) => list.id === id);\r\n if (index >= 0) {\r\n this.selectedLists.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n async removeFromLists() {\r\n if (this.selectedLists.length <= 0) {\r\n return;\r\n }\r\n this.submitting = true;\r\n try {\r\n for (const selectedList of this.selectedLists) {\r\n let newList: List = null;\r\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\r\n if (isProcurement) {\r\n const index = selectedList.procurements.findIndex((procId) => procId === this.dataObject.id);\r\n if (index >= 0) {\r\n selectedList.procurements.splice(index, 1);\r\n await this.$vmx.list.putList(selectedList);\r\n }\r\n } else {\r\n const index = selectedList.projects.findIndex((procId) => procId === this.dataObject.id);\r\n if (index >= 0) {\r\n selectedList.projects.splice(index, 1);\r\n await this.$vmx.list.putList(selectedList);\r\n }\r\n }\r\n }\r\n this.error = false;\r\n this.hideModal();\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-remove.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-remove.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-list-remove.vue?vue&type=template&id=4ffe96e1&scoped=true&\"\nimport script from \"./modal-list-remove.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-list-remove.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ffe96e1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('BaseModalContainer',{staticClass:\"modal-list-settings\",attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [(!_vm.loading)?_c('div',[(_vm.list)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.settings.titleEdit'))+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.settings.titleNew'))+\" \")])]):_vm._e()]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-3\",class:_vm.buttonRowClasses},[(_vm.list)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openModal(_vm.deleteModalId)}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.delete'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"row gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit,\"disabled\":_vm.selectedUsers.length < 1}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[(_vm.$vmx.user.hasColleagues)?_c('InputTags',{attrs:{\"options\":_vm.users,\"display-prop\":function (user) { return user.name; },\"title\":_vm.$t('components.modals.list.settings.companyShare'),\"placeholder\":_vm.$t('components.inputField.companyShare.placeholder'),\"choose-all-label\":_vm.$t('components.inputField.companyShare.chooseAll')},model:{value:(_vm.selectedUsers),callback:function ($$v) {_vm.selectedUsers=$$v},expression:\"selectedUsers\"}}):_vm._e()],1),_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"listName\",attrs:{\"id\":\"listName\",\"required\":true,\"validator\":_vm.nameValidator,\"label\":_vm.$t('components.inputField.title.text'),\"placeholder\":_vm.$t('components.inputField.title.placeholder')},model:{value:(_vm.listCopy.name),callback:function ($$v) {_vm.$set(_vm.listCopy, \"name\", $$v)},expression:\"listCopy.name\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('FormMailTime',{model:{value:(_vm.listCopy.mailTime),callback:function ($$v) {_vm.$set(_vm.listCopy, \"mailTime\", $$v)},expression:\"listCopy.mailTime\"}})],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e()])])],1),_c('BaseModalContainer',{attrs:{\"modal-id\":_vm.deleteModalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.delete.title'))+\" \")]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.list.delete.text', [_vm.listCopy ? _vm.listCopy.name : '']))+\" \")])],1),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row justify-content-end gx-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openModal(_vm.modalId)}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteList}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport { List } from '@/interfaces/list';\r\nimport { listService } from '@/services/restapi/list-service';\r\nimport { MailTime } from '@/interfaces/enums/mail-time';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Procurement } from '@/interfaces/procurement';\r\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\r\nimport { Project } from '@/interfaces/project';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n FormMailTime,\r\n },\r\n})\r\nexport default class ModalListSettings extends Vue {\r\n @Ref() listName: BaseInputField;\r\n listCopy: List = null;\r\n listsWithObject: List[] = null;\r\n users: User[] = [];\r\n selectedUsers: User[] = [];\r\n loading = true;\r\n submitting = false;\r\n error = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get buttonRowClasses() {\r\n return [\r\n `justify-content-${this.list ? 'between' : 'end'}`,\r\n ];\r\n }\r\n \r\n get dataObject(): Project | Procurement | ProcurementReference {\r\n return this.$vmx.modal.listObject;\r\n }\r\n\r\n get deleteModalId(): string {\r\n return `delete-${this.modalId}`;\r\n }\r\n\r\n get formIsValid(): boolean {\r\n return this.listName.validate() && this.selectedUsers.length > 0;\r\n }\r\n\r\n get list(): List {\r\n return this.$vmx.modal.list;\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.LIST_SETTINGS_MODAL;\r\n }\r\n\r\n @Watch('selectedUsers')\r\n selectedUsersChanged() {\r\n this.listCopy.paUserIds = this.selectedUsers.map(x => x.id);\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal(this.modalId);\r\n }\r\n }\r\n\r\n async createNewList(): Promise {\r\n const newList: List = {\r\n id: null,\r\n name: '',\r\n projects: !globalFunctions.isProcurementOrProcurementReference(this.dataObject) ? [this.dataObject.id] : [],\r\n procurements: globalFunctions.isProcurementOrProcurementReference(this.dataObject) ? [this.dataObject.id] : [],\r\n mailTime: MailTime.Daily,\r\n paUserIds: [],\r\n budgetSum: null,\r\n };\r\n return newList;\r\n }\r\n\r\n async deleteList() {\r\n this.submitting = true;\r\n try {\r\n await listService.deleteList(this.listCopy.id)\r\n const index = this.$vmx.list.lists.findIndex((list: List) => list.id == this.listCopy.id);\r\n this.$vmx.list.lists.splice(index, 1);\r\n this.$emit('listDeleted');\r\n this.hideModal(this.deleteModalId);\r\n if (this.$route.name === RouterNames.LOGGED_IN_LIST_VIEW) {\r\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\r\n }\r\n this.submitting = false;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n\r\n async getOriginalLists() {\r\n if (this.dataObject) {\r\n await this.$vmx.list.fetchLists();\r\n if (this.$vmx.list.lists != null && this.$vmx.list.lists.length > 0) {\r\n this.listsWithObject = this.$vmx.list.listsWithObject(this.dataObject)\r\n .filter(list => list.id != this.listCopy.id);\r\n }\r\n }\r\n }\r\n\r\n hideModal(modal: string) {\r\n const element = document.getElementById(modal);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (this.list) {\r\n this.listCopy = {...this.list};\r\n this.setUsers();\r\n this.getOriginalLists().then(() => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.createNewList().then((newList) => {\r\n this.listCopy = newList;\r\n this.setUsers();\r\n this.getOriginalLists().then(() => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n }\r\n\r\n nameValidator(name: string): boolean {\r\n return name.trim().length >= 1 && name.trim().length <= 100;\r\n }\r\n\r\n openModal(id: string) {\r\n const element = document.getElementById(id);\r\n const modal = new Modal(element);\r\n modal.show();\r\n }\r\n\r\n private setUsers() {\r\n const user = this.$vmx.user.user as User;\r\n this.users = this.$vmx.user.colleagues;\r\n if (this.listCopy.id) {\r\n this.selectedUsers = this.users.filter(x => this.listCopy.paUserIds.some(paUserId => paUserId === x.id));\r\n } else {\r\n this.selectedUsers = [user];\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n this.submitting = true;\r\n try {\r\n if (this.listCopy.id) {\r\n const newList = await listService.putList(this.listCopy);\r\n if (newList) {\r\n this.error = false;\r\n this.$vmx.list.putList(newList);\r\n } else {\r\n this.error = true;\r\n }\r\n this.submitting = false;\r\n this.hideModal(this.modalId);\r\n } else {\r\n const addedList = await listService.postList(this.listCopy);\r\n if (addedList) {\r\n this.error = false;\r\n this.$vmx.list.lists.push(addedList);\r\n } else {\r\n this.error = true;\r\n }\r\n this.submitting = false;\r\n this.hideModal(this.modalId);\r\n }\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-settings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-list-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-list-settings.vue?vue&type=template&id=06341ec8&scoped=true&\"\nimport script from \"./modal-list-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-list-settings.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06341ec8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-contact\"},[_c('BaseModalContainer',{attrs:{\"modal-id\":_vm.modalId,\"size\":\"lg\",\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.tip.header'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):(_vm.tipSent)?_c('div',[_c('BaseAlert',[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.tip.tipSentText'))+\" \")]),_c('div',{staticClass:\"d-flex justify-content-end mt-4\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"}},[_vm._v(\" \"+_vm._s(_vm.$t('general.ok'))+\" \")])],1)],1):_c('AbstractForm',{attrs:{\"background\":\"transparent\",\"text-color\":\"dark\",\"padding-x\":0,\"padding-y\":0},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"row mt-3 gx-2 justify-content-end\"},[_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-primary\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('general.confirm'))+\" \")])],1)])]},proxy:true}])},[_c('div',{staticClass:\"row gy-4\"},[(_vm.tipCopy.companyRoleId)?_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.tip.bodyCompanyRole'))+\" \")]):(_vm.tipCopy.contactId)?_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.tip.bodyContact'))+\" \")]):_vm._e(),_c('div',{staticClass:\"col-12\"},[_c('BaseInputTextarea',{ref:\"tipDescription\",attrs:{\"id\":\"tipDescription\",\"required\":true,\"label\":_vm.$t('components.inputField.tip.text'),\"placeholder\":_vm.$t('components.inputField.tip.placeholder')},model:{value:(_vm.tipCopy.description),callback:function ($$v) {_vm.$set(_vm.tipCopy, \"description\", $$v)},expression:\"tipCopy.description\"}})],1),(_vm.error)?_c('div',{staticClass:\"col-12\"},[_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('general.error'))}})])],1):_vm._e()])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseInputTextarea from '../form-fields/base-input-textarea.vue';\r\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\r\nimport { Modal } from 'bootstrap';\r\nimport { ModalIds } from '@/util/enums/modal-ids';\r\nimport { Tip } from '@/interfaces/tip';\r\nimport { tipService } from '@/services/restapi/tip-service';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseModalContainer,\r\n },\r\n})\r\nexport default class ModalTip extends Vue {\r\n @Ref() tipDescription: BaseInputTextarea;\r\n\r\n tipCopy: Tip = null;\r\n\r\n error = false;\r\n loading = true;\r\n submitting = false;\r\n tipSent = false;\r\n\r\n mounted() {\r\n this.addEventListeners();\r\n }\r\n\r\n activated() {\r\n this.addEventListeners();\r\n }\r\n\r\n get formIsValid(): boolean {\r\n return this.tipDescription.validate();\r\n }\r\n\r\n get modalId(): string {\r\n return ModalIds.TIP_MODAL;\r\n }\r\n\r\n get tip(): Tip {\r\n return this.$vmx.modal.tip;\r\n }\r\n\r\n addEventListeners() {\r\n const modalElement = document.getElementById(this.modalId);\r\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\r\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\r\n }\r\n\r\n clickBackdrop() {\r\n if (!this.submitting) {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n hideModal() {\r\n const element = document.getElementById(this.modalId);\r\n if (element) {\r\n const modal = Modal.getInstance(element);\r\n if (modal) {\r\n modal.hide();\r\n }\r\n }\r\n }\r\n\r\n initializeModal() {\r\n this.loading = true;\r\n if (this.tip) {\r\n this.tipCopy = {...this.tip};\r\n this.error = false;\r\n this.loading = false;\r\n this.submitting = false;\r\n this.tipSent = false;\r\n } else {\r\n this.hideModal();\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.formIsValid) {\r\n this.submitting = true;\r\n try {\r\n await tipService.postTip(this.tipCopy);\r\n this.submitting = false;\r\n this.tipSent = true;\r\n } catch (error) {\r\n this.error = true;\r\n this.submitting = false;\r\n this.tipSent = false;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-tip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal-tip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-tip.vue?vue&type=template&id=5a3b0b35&scoped=true&\"\nimport script from \"./modal-tip.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-tip.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5a3b0b35\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"text-white\"},[_c('div',{staticClass:\"row py-4 gy-5 justify-content-around\"},[_c('div',{staticClass:\"col-12 col-xxl-3 d-flex justify-content-center\"},[_c('BaseLogo')],1),_c('div',{staticClass:\"col-12 col-lg-3 text-center text-lg-start\"},[_c('div',[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.footer.services'))+\" \")]),_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.inspiration')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.services.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.prices')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.prices.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.bookdemo')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.bookDemo.title'))+\" \")])])])])]),_c('div',{staticClass:\"col-12 col-lg-3 text-center text-lg-start\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.footer.contact'))+\" \")]),_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.about')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.about.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.support')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.contact.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.phoneAbbr'))+\": \"+_vm._s(_vm.$t('general.phoneNr'))+\" \")])]),_c('p')]),_c('div',{staticClass:\"col-12 col-lg-3 text-center text-lg-start\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t('components.footer.other'))+\" \")]),_c('div',{staticClass:\"row gy-2\"},[_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.cookie_policy')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.cookiePolicy.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.$t('wordpresssite.terms_and_conditions')}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.jura.title'))+\" \")])]),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"variant\":\"trademark-125\",\"padding-y\":\"1\",\"padding-x\":\"1\",\"style-classes\":\"roboto dropdown-toggle\",\"bs-toggle\":\"dropdown\",\"bs-auto-close\":\"outside\",\"is-dropup\":true},scopedSlots:_vm._u([{key:\"dropdown\",fn:function(){return [_c('ul',{staticClass:\"dropdown-menu\"},_vm._l((_vm.languages),function(ref){\nvar language = ref[0];\nvar isActive = ref[1];\nvar cb = ref[2];\nreturn _c('li',{key:language.id,staticClass:\"dropdown-item\",class:isActive ? 'active' : '',on:{\"click\":cb}},[_vm._v(\" \"+_vm._s(language.nativeName)+\" \")])}),0)]},proxy:true}])},[_vm._v(\" \"+_vm._s(_vm.$t('general.language'))+\" \")])],1)])])]),_c('div',{staticClass:\"row py-3 justify-content-center bg-trademark\"},[_c('div',{staticClass:\"col-auto text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.nordiskeMedier'))+\" \")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport BaseLogo from '@/components/buttons/base-logo.vue';\r\nimport { getWordpressLink } from '@/util/domain-utils';\r\nimport { Language } from '@/interfaces/language';\r\n@Component({\r\n components: {\r\n BaseLogo,\r\n },\r\n})\r\nexport default class TheFooter extends Vue {\r\n // routeNames = {\r\n // about: RouterNames.LOGGED_OUT_ABOUT,\r\n // bookDemo: RouterNames.LOGGED_OUT_BOOK_DEMO,\r\n // contact: RouterNames.LOGGED_OUT_CONTACT,\r\n // cookiePolicy: RouterNames.LOGGED_OUT_COOKIE_POLICY,\r\n // jura: RouterNames.LOGGED_OUT_JURA,\r\n // prices: RouterNames.LOGGED_OUT_PRICES,\r\n // services: RouterNames.LOGGED_OUT_SERVICES,\r\n // };\r\n\r\n get languages() {\r\n return (this.$vmx.language.languages as Language[])\r\n .sort((language1, language2) => language1.nativeName.localeCompare(language2.nativeName))\r\n .map((languageId: Language) => [\r\n languageId,\r\n this.$vmx.language.language.id === languageId.id,\r\n () => {\r\n this.$vmx.language.updateLanguage(languageId);\r\n location.reload();\r\n },\r\n ]);\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-footer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-footer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./the-footer.vue?vue&type=template&id=317fbd73&scoped=true&\"\nimport script from \"./the-footer.vue?vue&type=script&lang=ts&\"\nexport * from \"./the-footer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./the-footer.vue?vue&type=style&index=0&id=317fbd73&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"317fbd73\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-prompt\"},[(!_vm.isProject)?_c('div',{staticClass:\"row pb-4 justify-content-center text-dark\"},[_c('div',{class:(_vm.colClasses + \" rounded shadow bg-white\")},[_c('FormLogin',{attrs:{\"background-color\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"3\",\"padding-y\":\"3\",\"redirect\":null,\"center-header\":true,\"body-text\":\" \"}})],1)]):_vm._e(),(_vm.isProject)?_c('div',{staticClass:\"row pb-4 justify-content-center\"},[_c('div',{staticClass:\"col-12 col-md-10 rounded shadow bg-white\"},[_c('div',{staticClass:\"row justify-content-center text-dark\"},[_c('div',{staticClass:\"col-lg-5 col-12\"},[_c('FormLogin',{attrs:{\"background-color\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"3\",\"padding-y\":\"3\",\"redirect\":null,\"center-header\":true,\"body-text\":\" \"}})],1),_vm._m(0),_c('div',{staticClass:\"col-lg-5 col-12\"},[_c('FormLoginLimitedAccess',{attrs:{\"background-color\":\"white\",\"text-color\":\"dark\",\"padding-x\":\"3\",\"padding-y\":\"3\",\"center-header\":true,\"body-text\":\" \"}})],1)])])]):_vm._e(),_c('div',{staticClass:\"row justify-content-center pt-5\"},[_c('FormBookDemo',{attrs:{\"title\":_vm.$t('pages.layout.bookdemo'),\"text\":_vm.$t('pages.layout.bookdemoText'),\"mode\":\"bookdemo\"}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-12 col-lg-1 my-5 my-lg-2 d-flex justify-content-center\"},[_c('div',{staticClass:\"border-start middleline bg-black lowpad\"})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"formContainer\",staticClass:\"form-login h-100 w-100\"},[_c('AbstractForm',{attrs:{\"padding-x\":_vm.paddingX,\"padding-y\":_vm.paddingY,\"background\":_vm.backgroundColor,\"text-color\":_vm.textColor,\"style-classes\":\"d-flex flex-column justify-content-between h-100\"},scopedSlots:_vm._u([{key:\"button\",fn:function(){return [_c('div',{staticClass:\"col-12 pt-3 d-flex justify-content-center\"},[(_vm.codeFormState == 'new' || _vm.codeFormState == 'existing')?_c('BaseButton',{ref:\"button\",attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"style-classes\":\"w-100\",\"on-click-cb\":_vm.create}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.codeFormState == 'new' ? 'components.forms.loginLimitedAccess.buttonNewText' : 'components.forms.loginLimitedAccess.buttonExistingText' ))+\" \")]):_vm._e(),(_vm.spinnerOn)?_c('BaseLoadingSpinner',{attrs:{\"size\":\"10rem\"}}):_vm._e()],1)]},proxy:true}])},[_c('div',{staticClass:\"row gy-3\"},[_c('div',{staticClass:\"col-12\",class:[ _vm.centerHeader ? 'text-center' : '' ]},[_c('h2',{class:[(\"text-\" + _vm.textColor)]},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.title'))+\" \")]),(_vm.codeFormState == 'new')?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.text'))+\" \")]):_vm._e(),(_vm.codeFormState == 'code')?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.codeText'))+\" \")]):_vm._e()]),(_vm.codeFormState == 'new')?_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{attrs:{\"id\":\"input-username\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.name.placeholder'),\"invalid-text\":_vm.$t('components.inputField.name.invalid'),\"live-validate\":_vm.liveValidate,\"is-valid-cb\":function (val) { return _vm.nameIsValid = val; }},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1):_vm._e(),(_vm.codeFormState == 'new' || _vm.codeFormState == 'existing')?_c('div',{staticClass:\"col-12\"},[_c('BaseInputField',{ref:\"inputMail\",attrs:{\"id\":\"input-mail\",\"type\":\"email\",\"required\":true,\"placeholder\":_vm.$t('components.inputField.email.placeholder'),\"invalid-text\":_vm.$t('components.inputField.email.invalid'),\"live-validate\":_vm.liveValidate,\"is-valid-cb\":function (val) { return _vm.mailIsValid = val; }},model:{value:(_vm.mail),callback:function ($$v) {_vm.mail=$$v},expression:\"mail\"}})],1):_vm._e(),(_vm.codeFormState == 'code')?_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row gx-4 justify-content-center\"},_vm._l(([0,1,2,3]),function(n){return _c('div',{key:n,class:[ _vm.formSize > 730 ? 'col-2' : 'col-3']},[_c('input',{ref:\"coderef\",refInFor:true,staticClass:\"form-control text-center\",class:_vm.textSizeClass,attrs:{\"type\":\"text\",\"maxlength\":\"1\",\"disabled\":_vm.spinnerOn},on:{\"keyup\":function (event) { return _vm.keyup(n, event); }}})])}),0)]):_vm._e(),_c('div',{staticClass:\"col-12 d-flex\"},[(_vm.codeFormState == 'new' || _vm.codeFormState == 'existing')?_c('a',{staticClass:\"clickable me-auto\",class:[ (\"text-\" + _vm.textColor) ],on:{\"click\":_vm.mailClick}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.codeFormState == 'new' ? 'components.forms.loginLimitedAccess.existingLink' : 'components.forms.loginLimitedAccess.newAccessLink' ))+\" \")]):_vm._e()]),(_vm.errorMessage == 'error')?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.error'))+\" \")]):(_vm.errorMessage == 'conflict')?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.errorExisting'))+\" \")]):(_vm.errorMessage == 'not found')?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.error'))+\" \")]):(_vm.errorMessage == 'code error')?_c('BaseAlert',{attrs:{\"type\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.forms.loginLimitedAccess.codeError'))+\" \")]):_vm._e()],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\r\nimport AbstractForm from '@/components/forms/abstract-form.vue';\r\nimport BaseAlert from '@/components/containers/base-alert.vue';\r\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue';\r\nimport { ResponseCodes } from '@/util/enums/response-codes';\r\n\r\n@Component({\r\n components: {\r\n AbstractForm,\r\n BaseLoadingSpinner,\r\n BaseAlert,\r\n },\r\n})\r\nexport default class FormLoginLimitedAccess extends Vue {\r\n @Prop({ default: 'white '}) textColor: string;\r\n @Prop() backgroundColor: string;\r\n @Prop({ default: '5' }) paddingX: string;\r\n @Prop({ default: '5' }) paddingY: string;\r\n @Prop({ default: false }) centerHeader: boolean;\r\n @Ref() formContainer: HTMLDivElement;\r\n @Ref() coderef: HTMLInputElement[];\r\n\r\n formSize = window.innerWidth;\r\n\r\n name = '';\r\n mail = '';\r\n\r\n liveValidate: 'always' | 'onlyOnValid' = 'onlyOnValid';\r\n codeLiveValidate: 'always' | 'onlyOnValid' = 'onlyOnValid'\r\n\r\n nameIsValid = false;\r\n mailIsValid = false;\r\n\r\n codeFormState: 'new' | 'existing' | 'code' = 'new';\r\n\r\n disabled = false;\r\n\r\n spinnerOn = false;\r\n\r\n errorMessage: 'conflict' | 'error' | 'not found' | 'code error' | null = null;\r\n\r\n async create() {\r\n // const returnCode = this.$vmx.limitedAccess.create({ name: this.name, mail: this.mail })\r\n\r\n if (this.codeFormState == 'new' && this.nameIsValid && this.mailIsValid) {\r\n this.$vmx.limitedAccess.create({ name: this.name, mail: this.mail }).then((returnCode) => {\r\n if (returnCode == ResponseCodes.SUCCESS) {\r\n this.liveValidate = 'onlyOnValid';\r\n this.codeFormState = 'code';\r\n } else if (returnCode == ResponseCodes.CONFLICT) {\r\n this.errorMessage = 'conflict'\r\n } else {\r\n this.errorMessage = 'error';\r\n }\r\n })\r\n return;\r\n } else {\r\n this.liveValidate = 'always';\r\n }\r\n\r\n if (this.codeFormState == 'existing' && this.mailIsValid) {\r\n this.$vmx.limitedAccess.resend(this.mail).then((returnCode) => {\r\n if (returnCode == ResponseCodes.SUCCESS) {\r\n this.liveValidate = 'onlyOnValid';\r\n this.codeFormState = 'code';\r\n } else if (returnCode == ResponseCodes.NOT_FOUND) {\r\n this.errorMessage = 'not found';\r\n } else {\r\n this.errorMessage = 'error';\r\n }\r\n })\r\n return;\r\n } else {\r\n this.liveValidate = 'always';\r\n }\r\n\r\n return;\r\n }\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n this.resizeHandler();\r\n }\r\n\r\n get textSizeClass() {\r\n return [\r\n this.formSize > 496 ? 'roboto-5x' : this.formSize > 436 ? 'roboto-4x' : 'roboto-3x',\r\n ];\r\n }\r\n\r\n keyup(n: 0 | 1 | 2 | 3, keyEvent: KeyboardEvent) {\r\n if (n <= 2 && this.coderef[n].value != '') {\r\n this.coderef[n + 1].focus();\r\n }\r\n\r\n if (this.coderef.every((input) => input.value != '')) {\r\n const code = this.coderef.map((input) => input.value).reduce((s1, s2) => s1 + s2);\r\n this.spinnerOn = true;\r\n\r\n this.$vmx.limitedAccess.auth({ mail: this.mail, code })\r\n .then((status) => {\r\n if (status == ResponseCodes.SUCCESS) {\r\n location.reload();\r\n } else {\r\n this.errorMessage = 'code error';\r\n this.spinnerOn = false;\r\n this.coderef.forEach((input) => input.value = '');\r\n }\r\n });\r\n }\r\n }\r\n\r\n public resizeHandler() {\r\n if (this.formContainer) {\r\n this.formSize = this.formContainer.clientWidth;\r\n }\r\n }\r\n\r\n codeValidator(val: string) {\r\n const isValid = val.match('[a-z]{4}') != null;\r\n return isValid;\r\n }\r\n\r\n mailClick() {\r\n this.name = '';\r\n this.mail = '';\r\n this.liveValidate = 'onlyOnValid';\r\n\r\n this.errorMessage = null;\r\n\r\n if (this.codeFormState == 'new') {\r\n this.codeFormState = 'existing';\r\n } else if (this.codeFormState == 'existing') {\r\n this.codeFormState = 'new';\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-login-limited-access.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-login-limited-access.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./form-login-limited-access.vue?vue&type=template&id=16c14e7b&scoped=true&\"\nimport script from \"./form-login-limited-access.vue?vue&type=script&lang=ts&\"\nexport * from \"./form-login-limited-access.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./form-login-limited-access.vue?vue&type=style&index=0&id=16c14e7b&style=true&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"16c14e7b\",\n null\n \n)\n\nexport default component.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\n\n\n\n\n\n\n\n\r\nimport { Component, Ref, Vue } from 'vue-property-decorator';\r\nimport FormBookDemo from '@/components/forms/form-book-demo.vue';\r\nimport FormLogin from '@/components/forms/form-login.vue';\r\nimport FormLoginLimitedAccess from '@/components/forms/form-login-limited-access.vue';\r\nimport { RouterNames } from '@/util/enums/router-names';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\n\r\n@Component({\r\n components: {\r\n FormBookDemo,\r\n FormLogin,\r\n FormLoginLimitedAccess,\r\n TheHeader,\r\n },\r\n})\r\nexport default class TheLoginPrompt extends Vue {\r\n @Ref() bookDemoContainer: HTMLDivElement;\r\n \r\n windowSize = window.innerWidth;\r\n\r\n isProjectData: boolean = null;\r\n\r\n colClasses = 'col-12 col-md-10 col-lg-6'\r\n\r\n mounted() {\r\n window.addEventListener('resize', this.resizeHandler);\r\n }\r\n\r\n get bookDemoUrl() {\r\n return 'https://calendly.com/d/cqcv-4s7-cj8/projektagenten-demo'\r\n + '?hide_event_type_details=1'\r\n + '&hide_gdpr_banner=1'\r\n + '&primary_color=f45d01'\r\n }\r\n \r\n get isProject() {\r\n if (this.isProjectData == null) {\r\n this.isProjectData = this.$router.currentRoute.name === RouterNames.LOGGED_IN_PROJECT_VIEW;\r\n \r\n this.$router.afterEach((to, from) => {\r\n this.isProjectData = to.name === RouterNames.LOGGED_IN_PROJECT_VIEW \r\n });\r\n }\r\n\r\n return this.isProjectData;\r\n }\r\n\r\n resizeHandler() {\r\n this.windowSize = window.innerWidth;\r\n }\r\n\r\n scrollToBookDemo() {\r\n if (this.bookDemoContainer) {\r\n this.bookDemoContainer.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-login-prompt.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./the-login-prompt.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./the-login-prompt.vue?vue&type=template&id=b800d004&scoped=true&\"\nimport script from \"./the-login-prompt.vue?vue&type=script&lang=ts&\"\nexport * from \"./the-login-prompt.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./the-login-prompt.vue?vue&type=style&index=0&id=b800d004&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b800d004\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\nimport { globalFunctions } from '@/util/global-functions';\r\nimport ModalAgentDelete from '@/components/modals/modal-agent-delete.vue';\r\nimport ModalAgentReplace from '@/components/modals/modal-agent-replace.vue';\r\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\r\nimport ModalBlacklistRemove from '@/components/modals/modal-blacklist-remove.vue';\r\nimport ModalBlacklistSettings from '@/components/modals/modal-blacklist-settings.vue';\r\nimport ModalCompanyListAdd from '@/components/modals/modal-company-list-add.vue';\r\nimport ModalCompanyListRemove from '@/components/modals/modal-company-list-remove.vue';\r\nimport ModalCompanyListSettings from '@/components/modals/modal-company-list-settings.vue';\r\nimport ModalListAdd from '@/components/modals/modal-list-add.vue';\r\nimport ModalListRemove from '@/components/modals/modal-list-remove.vue';\r\nimport ModalListSettings from '@/components/modals/modal-list-settings.vue';\r\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\r\nimport ModalTip from '@/components/modals/modal-tip.vue';\r\nimport { Notification } from '@/interfaces/notification';\r\nimport { notificationService } from '@/services/restapi/notification-service';\r\nimport NotificationSidebar from '@/components/sidebars/notification-sidebar.vue';\r\nimport TheFooter from '@/components/footers/the-footer.vue';\r\nimport TheHeader from '@/components/headers/the-header.vue';\r\nimport TheLoginPrompt from '@/components/general-components/the-login-prompt.vue';\r\nimport { User } from '@/interfaces/user';\r\n\r\n@Component({\r\n components: {\r\n TheLoginPrompt,\r\n TheHeader,\r\n TheFooter,\r\n ModalAgentDelete,\r\n ModalAgentReplace,\r\n ModalAgentSettings,\r\n ModalBlacklistRemove,\r\n ModalBlacklistSettings,\r\n ModalCompanyListAdd,\r\n ModalCompanyListRemove,\r\n ModalCompanyListSettings,\r\n ModalListAdd,\r\n ModalListRemove,\r\n ModalListSettings,\r\n ModalPaywall,\r\n ModalTip,\r\n NotificationSidebar,\r\n },\r\n})\r\nexport default class Layout extends Vue {\r\n public userLoggedIn = false;\r\n public limitedAccessLoggedIn = false;\r\n notifications: Notification[] = null;\r\n showSidebar = false;\r\n\r\n public loading = true;\r\n\r\n mounted() {\r\n Promise.race([this.$vmx.user.fetchUser(), this.$vmx.limitedAccess.fetchLimitedAccess()])\r\n .then(user => {\r\n if ((user as User)?.showPopups) {\r\n notificationService.getNotifications(false).then((notifications) => {\r\n notifications.sort((a, b) => a.created > b.created ? -1 : 1);\r\n this.notifications = notifications;\r\n if (notifications != null && notifications.length > 0) {\r\n this.showSidebar = true;\r\n }\r\n });\r\n }\r\n \r\n })\r\n .finally(() => this.loading = false);\r\n }\r\n\r\n get isLoggedIn(): boolean {\r\n const isLimitedAccessLoggedIn = this.$vmx.limitedAccess.limitedAccess?.id != null && (this.$route.meta?.limitedAccess ?? false);\r\n\r\n return this.$vmx.user.user?.id != null || isLimitedAccessLoggedIn;\r\n }\r\n\r\n get showLoginPage(): boolean {\r\n return !(this.$route.meta.requireLogin ?? true) || this.$vmx.session.isLoggedinUser;\r\n }\r\n\r\n get requireLogin(): boolean {\r\n return this.$route.meta.requireLogin ?? true;\r\n }\r\n\r\n get paywallModalId() {\r\n return globalFunctions.getPaywallModalId();\r\n }\r\n\r\n get hideHeaderFooter() {\r\n return this.$route.meta.hideHeaderFooter ?? false;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./layout.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!./layout.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./layout.vue?vue&type=template&id=5ae2147b&scoped=true&\"\nimport script from \"./layout.ts?vue&type=script&lang=ts&\"\nexport * from \"./layout.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./layout.scss?vue&type=style&index=0&id=5ae2147b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5ae2147b\",\n null\n \n)\n\nexport default component.exports","import BaseAlert from '@/components/containers/base-alert.vue';\r\nimport BaseButton from '@/components/buttons/base-button.vue';\r\nimport BaseButtonIcon from '@/components/buttons/base-button-icon.vue';\r\nimport BaseContainer from '@/components/containers/base-container.vue';\r\nimport BaseInputCheckbox from '@/components/form-fields/base-input-checkbox.vue';\r\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\r\nimport BaseInputRadio from '@/components/form-fields/base-input-radio.vue';\r\nimport BaseInputSelect from '@/components/form-fields/base-input-select.vue';\r\nimport BaseInputTextarea from '@/components/form-fields/base-input-textarea.vue';\r\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue';\r\nimport CriteriaTree from '@/components/search-components/criteria-tree.vue';\r\nimport CriterionTree from '@/components/search-components/criterion-tree.vue';\r\nimport InputPhone from '@/components/form-fields/input-phone.vue';\r\nimport InputTags from '@/components/form-fields/input-tags.vue';\r\nimport Layout from '@/views/layouts/layout.vue';\r\nimport Vue from 'vue';\r\n\r\nexport default function() {\r\n Vue.component('Layout', Layout);\r\n\r\n // BUTTONS\r\n Vue.component('BaseButton', BaseButton);\r\n Vue.component('BaseButtonIcon', BaseButtonIcon);\r\n\r\n // CONTAINERS\r\n Vue.component('BaseAlert', BaseAlert);\r\n Vue.component('BaseContainer', BaseContainer);\r\n\r\n // INPUT COMPONENTS\r\n Vue.component('BaseInputCheckbox', BaseInputCheckbox);\r\n Vue.component('BaseInputField', BaseInputField);\r\n Vue.component('BaseInputRadio', BaseInputRadio);\r\n Vue.component('BaseInputSelect', BaseInputSelect);\r\n Vue.component('BaseInputTextarea', BaseInputTextarea);\r\n Vue.component('InputPhone', InputPhone);\r\n Vue.component('InputTags', InputTags);\r\n\r\n // OTHER\r\n Vue.component('BaseLoadingSpinner', BaseLoadingSpinner);\r\n\r\n // RECURSIVE COMPONENTS\r\n // Tree\r\n Vue.component('CriteriaTree', CriteriaTree);\r\n Vue.component('CriterionTree', CriterionTree);\r\n}\r\n","import { AbstractService } from '../superclasses/abstract-service';\r\nimport { apiConfig } from '../config/api.config';\r\nimport { AxiosRequestConfig } from 'axios';\r\nimport { LocaleMessages } from 'vue-i18n';\r\n\r\nconst api = '/translations';\r\n\r\nexport class TranslationService extends AbstractService {\r\n constructor(config: AxiosRequestConfig) {\r\n super(config);\r\n }\r\n\r\n public getTranslations = async (id: number): Promise => {\r\n const response = await this.get(`${api}/${id}`);\r\n return this.getResponse(response);\r\n };\r\n}\r\n\r\nexport const translationService = new TranslationService(apiConfig);\r\n","import '@fontsource/lato';\r\nimport '@fontsource/lato/300.css';\r\nimport '@fontsource/lato/700.css';\r\nimport '@fontsource/roboto';\r\nimport '@fontsource/roboto/300.css';\r\nimport '@fontsource/roboto/500.css';\r\nimport '@fontsource/roboto/700.css';\r\nimport 'bootstrap';\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\r\nimport 'vue-tel-input/dist/vue-tel-input.css';\r\nimport * as domainUtils from './util/domain-utils';\r\nimport { store, vmx } from './store';\r\nimport addToLibrary from './util/font-awesome-import';\r\nimport App from './app.vue';\r\nimport BootstrapVue from 'bootstrap-vue';\r\nimport Component from 'vue-class-component';\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\r\nimport i18n from './localization/i18n';\r\nimport importComponents from './util/component-import';\r\nimport { Language } from './interfaces/language';\r\nimport router from './router';\r\nimport { translationService } from './services/restapi/translation-service';\r\nimport { User } from './interfaces/user';\r\nimport Vue from 'vue';\r\nimport vueDebounce from 'vue-debounce';\r\nimport VueGtm from '@gtm-support/vue2-gtm';\r\nimport VueI18n from 'vue-i18n';\r\nimport VueSlider from 'vue-slider-component';\r\nimport VueTelInput from 'vue-tel-input';\r\n\r\n\r\nVue.config.productionTip = false;\r\n\r\naddToLibrary();\r\n\r\nVue.component('FontAwesomeIcon', FontAwesomeIcon);\r\nVue.component('VueSlider', VueSlider);\r\n\r\nimportComponents();\r\n\r\nVue.use(VueTelInput);\r\n\r\nVue.use(BootstrapVue);\r\n\r\nVue.use(vueDebounce);\r\n\r\n// TODO: Quick fix solution, use gtm field instead\r\nconst gtmCode = domainUtils.domain.gtm ??\r\n domainUtils.domain.tld == 'se' ? 'GTM-NJ92JPWP' :\r\n domainUtils.domain.tld == 'no' ? 'GTM-PW5259G2' :\r\n 'GTM-ML8VKDV'\r\n\r\nVue.use(VueGtm, {\r\n /* Your GTM single container ID, array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy'] or array of objects\r\n [{id: 'GTM-xxxxxx', queryParams: { gtm_auth: 'abc123', gtm_preview: 'env-4', gtm_cookies_win: 'x'}},\r\n {id: 'GTM-yyyyyy', queryParams: {gtm_auth: 'abc234', gtm_preview: 'env-5', gtm_cookies_win: 'x'}}],\r\n Your GTM single container ID or array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy']\r\n */\r\n // id: 'GTM-ML8VKDV',\r\n id: gtmCode,\r\n /* Script can be set to `defer` to speed up page load at the cost of less accurate results\r\n (in case visitor leaves before script is loaded, which is unlikely but possible).\r\n Defaults to false, so the script is loaded `async` by default\r\n */\r\n defer: false,\r\n // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\r\n enabled: true,\r\n // Whether or not display console logs debugs (optional)\r\n debug: true,\r\n /* Whether or not to load the GTM Script (Helpful if you are including GTM manually,\r\n but need the dataLayer functionality in your components) (optional)\r\n */\r\n loadScript: true,\r\n // Pass the router instance to automatically sync with router (optional)\r\n vueRouter: router,\r\n // Don't trigger events for specified router names (case insensitive) (optional)\r\n // ignoredViews: ['homepage'],\r\n // Whether or not call trackView in Vue.nextTick\r\n trackOnNextTick: false,\r\n});\r\n\r\nVue.prototype.$vmx = vmx;\r\n\r\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteLeave', 'beforeRouteUpdate']);\r\n\r\nfunction splash(language: string, user: User) {\r\n console.log(`\r\n _____ _ _ _ _ \r\n | __ | (_) | | | | | | \r\n | |__) _ __ ___ _ ___| | _| |_ __ _ __ _ ___ _ __ | |_ ___ _ __ \r\n | ___| '__/ _ || |/ _ | |/ | __/ _' |/ _' |/ _ | '_ || __/ _ | '_ | \r\n | | | | | (_) | | __| <| || (_| | (_| | __| | | | || __| | | |\r\n |_| |_| |___/| ||___|_||_||__|__,_||__, ||___|_| |_||__|___|_| |_|\r\n _/ | __/ | \r\n |__/ |___/ \r\n\r\n Enviroment: ${process.env.NODE_ENV}\r\n Domain: ${domainUtils.domain.name}\r\n Language: ${language}\r\n PaUser Id: ${user?.id}\r\n Person Id: ${user?.personId}\r\n Product: ${user?.product?.name}\r\n `)\r\n}\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n beforeCreate() {\r\n const language: Language = this.$vmx.language.language;\r\n\r\n splash(language.nativeName, this.$vmx.user.user)\r\n\r\n const html = document.documentElement;\r\n html.setAttribute('lang', language.iso6391);\r\n\r\n vmx.session.init();\r\n\r\n (window as any).$vmx = vmx; // For debugging; Use browser terminal to access vmx\r\n (window as any).$router = this.$router; // For debugging\r\n\r\n translationService.getTranslations(language.id).then((message) => {\r\n if (message != null) {\r\n i18n.setLocaleMessage(language.iso6391, message);\r\n }\r\n });\r\n\r\n // addEventListener('keyup', (event) => {\r\n // if (event.ctrlKey && event.key == 'i') {\r\n // if (i18n.messages[language.iso6391] == null) {\r\n // translationService.getTranslations(language.id).then((message) => {\r\n // i18n.setLocaleMessage(language.iso6391, message);\r\n // });\r\n // } else {\r\n // i18n.setLocaleMessage(language.iso6391, null);\r\n // }\r\n // }\r\n // });\r\n },\r\n render: (h) => h(App),\r\n}).$mount('#app');\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./article-card.vue?vue&type=style&index=0&id=107659d8&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./company-view.scss?vue&type=style&index=0&id=95f8fc6c&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./error-404-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./form-change-password.vue?vue&type=style&index=0&id=2fdf6bba&scoped=true&lang=scss&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./styles.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./icon-bar.vue?vue&type=style&index=0&id=19db888a&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./table-company-list.vue?vue&type=style&index=0&id=374e1142&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./procurement-view.scss?vue&type=style&index=0&id=65045f46&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./change-password-view.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./layout.scss?vue&type=style&index=0&id=5ae2147b&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./lists-overview.vue?vue&type=style&index=0&id=3da50ba8&scoped=true&lang=scss&\""],"sourceRoot":""}