{"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/search-components/search-items-list-view.vue?03b2","webpack:///./src/components/search-components/agent-criteria-menu.vue?17b2","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/search-item-card.vue?9b3f","webpack:///./src/components/form-fields/input-tags.vue?21aa","webpack:///./src/views/blacklist/blacklist-view.scss","webpack:///./src/components/dashboard-components/company-agents-overview.vue?e8b8","webpack:///./src/components/form-fields/base-input-select.vue?67d7","webpack:///./src/components/search-components/agent-criteria-filter.vue?9cbd","webpack:///./src/components/forms/form-login-limited-access.vue?7930","webpack:///./src/components/dropdowns/dropdown-profile-limited-content.vue?fb60","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/dashboard-components/company-agent-count-field.vue?cbb9","webpack:///./src/components/form-fields/search-input.vue?17aa","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/components/forms/form-change-password.vue?9ff4","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/views/layouts/layout.scss?fbd4","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/list-components/list-overview.vue?1b51","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?fdb5","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-agent-service.ts","webpack:///./src/store/modules/company-agent-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/product-service.ts","webpack:///./src/store/modules/product-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/store/modules/search-company-store.ts","webpack:///./src/store/storage.ts","webpack:///./src/store/modules/search-store.ts","webpack:///./src/views/access-expired/access-expired-view.vue?7657","webpack:///./src/components/forms/form-book-demo.vue?2182","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/blacklist/blacklist-view.vue?f0d4","webpack:///./src/util/blacklist-utils.ts","webpack:///./src/components/modals/base-modal-container.vue?8f1d","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?4b73","webpack:///./src/util/date-utils.ts","webpack:///./src/components/dropdowns/dropdown-notes.vue?000b","webpack:///./src/components/general-components/note-list.vue?cce8","webpack:///./src/components/dropdowns/dropdown-mail-export.vue?a1a9","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?a79d","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?0678","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?af2c","webpack:///./src/components/forms/abstract-form.vue?8fd6","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/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?f569","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?0546","webpack:///./src/components/dropdowns/dropdown-icon-bar.vue?5239","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?888a","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?2db0","webpack:///./src/components/dropdowns/dropdown-order-by.vue?ed17","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?cb90","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?bf8b","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?b2c7","webpack:///./src/components/forms/form-change-password.vue?4d50","webpack:///./src/components/forms/form-login.vue?861c","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?71d5","webpack:///./src/components/buttons/base-logo.vue?0b04","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?67b9","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?471a","webpack:///./src/components/dropdowns/dropdown-profile-content.vue?afd8","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?5b8a","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/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?1c3f","webpack:///./src/components/error-components/error-401.vue?71c9","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?cf99","webpack:///./src/components/company-list-components/company-projects-list.vue?8d7f","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?62ce","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?16c3","webpack:///./src/components/dashboard-components/agents-overview.vue?f226","webpack:///./src/components/dashboard-components/agent-count-field.vue?401f","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?8e10","webpack:///./src/components/forms/form-mail-time.vue?20a4","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?1eb9","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-agents-overview.vue?225c","webpack:///./src/components/dashboard-components/company-agent-count-field.vue?06b8","webpack:///./src/components/dashboard-components/company-agent-count-field.vue?1480","webpack:///./src/components/dashboard-components/company-agent-count-field.vue?e516","webpack:///./src/components/dashboard-components/company-agent-count-field.vue","webpack:///./src/components/dashboard-components/company-agents-overview.vue?eb09","webpack:///./src/components/dashboard-components/company-agents-overview.vue?d025","webpack:///./src/components/dashboard-components/company-agents-overview.vue","webpack:///./src/components/dashboard-components/company-lists-overview.vue?f05e","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?8ae9","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?68e5","webpack:///./src/components/dropdowns/dropdown-activitylog.vue?6c73","webpack:///./src/components/general-components/base-loading-spinner.vue?2fd4","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?740c","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?aa2d","webpack:///./src/components/error-components/error-404.vue?dfee","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?62d5","webpack:///./src/services/restapi/notification-service.ts","webpack:///./src/components/sidebars/notification-sidebar.vue?bc8c","webpack:///./src/components/buttons/base-button.vue?5683","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?be91","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?8b38","webpack:///./src/services/restapi/helpdesk-service.ts","webpack:///./src/components/help-components/user-guide-row.vue?18f0","webpack:///./src/components/buttons/base-button-icon.vue?4aa7","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?36e5","webpack:///./src/components/forms/form-impersonate.vue?a141","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?f429","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?54fb","webpack:///./src/components/list-components/list-overview.vue?b7db","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?5d8f","webpack:///./src/components/print/print-note.vue?86b4","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?898f","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?8056","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?4d15","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?f4c1","webpack:///./src/components/containers/container-date-row.vue?c4ea","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?a0f3","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?5dc3","webpack:///./src/components/modals/abstract-modal.vue?26cf","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?0fbc","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?41b8","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?a1c3","webpack:///./src/components/general-components/image-carousel.vue?c920","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?43b5","webpack:///./src/components/search-components/company-criteria-menu.vue?8c00","webpack:///./src/components/buttons/base-fold-menu.vue?d57f","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?b31f","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?399e","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/util/enums/order-by-options.ts","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?1224","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?2529","webpack:///./src/components/search-components/agent-criteria-menu.vue?031d","webpack:///./src/components/search-components/agent-criteria-filter.vue?0b27","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?ce64","webpack:///./src/components/dropdowns/base-dropdown.vue?666a","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?67be","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?bed6","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?9501","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?f5f0","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?5eff","webpack:///./src/components/forms/form-user-settings.vue?f27b","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?b9f5","webpack:///./src/app.vue","webpack:///./src/components/containers/base-alert.vue?6c94","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?1d79","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?ce3b","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?4fd2","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?51d5","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?47db","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?2ef5","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?2968","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?ce7d","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?2b22","webpack:///./src/components/modals/modal-agent-delete.vue?88a3","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?3338","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?cd97","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-agent-delete.vue?0fa5","webpack:///./src/components/modals/modal-company-agent-delete.vue?406c","webpack:///./src/components/modals/modal-company-agent-delete.vue?fdbc","webpack:///./src/components/modals/modal-company-agent-delete.vue","webpack:///./src/components/modals/modal-company-agent-replace.vue?ef28","webpack:///./src/components/modals/modal-company-agent-replace.vue?1676","webpack:///./src/components/modals/modal-company-agent-replace.vue?ddec","webpack:///./src/components/modals/modal-company-agent-replace.vue","webpack:///./src/components/modals/modal-company-agent-settings.vue?b9ad","webpack:///./src/components/modals/modal-company-agent-settings.vue?e7b4","webpack:///./src/components/modals/modal-company-agent-settings.vue?cbb3","webpack:///./src/components/modals/modal-company-agent-settings.vue","webpack:///./src/components/modals/modal-company-list-add.vue?0c27","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?30d9","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?273d","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?3f64","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?b214","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?8451","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?0210","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?c163","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?afc8","webpack:///./src/components/forms/form-login-limited-access.vue?57df","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/styles.scss?7c72","webpack:///./src/components/containers/icon-bar.vue?e779","webpack:///./src/components/general-components/the-login-prompt.vue?9bb2","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/components/cards/list-item-card.vue?acbc","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","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","getCompanyAgent","getAllCompanyAgentsForUser","createCompanyAgent","companyAgent","updateCompanyAgent","deleteCompanyAgent","companyAgentService","companyAgentsData","companyAgentsPromise","companyAgents","hasCompanyAccess","setCompanyAgents","updatedCompanyAgent","searchCompany","resetCompanyAgent","getCompanyLists","createCompanyList","companyList","updateCompanyList","deleteCompanyList","getCompanyListItems","companyListService","companyListsData","companyListPromise","companyLists","company","list","companies","com","listCom","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","companyAgentData","companyListData","companyData","listData","listObjectData","tipData","openModal","AGENT_DELETE_MODAL","AGENT_REPLACE_MODAL","AGENT_SETTINGS_MODAL","COMPANY_AGENT_DELETE_MODAL","COMPANY_AGENT_REPLACE_MODAL","COMPANY_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","getProducts","getFeatures","productService","productsData","productsPromise","productFeaturesData","productFeaturesPromise","f1","f2","products","productFeatures","setProductFeatures","getProjectPhases","getProjectPhaseById","projectPhaseService","projectPhasesData","projectPhasesPromise","projectPhases","setProjectPhases","getRoles","getRoleById","projectRoleService","rolesData","rolesPromise","roles","setRoles","MailTime","getCompanyById","getCompanyLogosByDomain","getItemsForCompany","onlyProjects","searchCompanies","searchCompanyCount","companyService","initialCompanyAgent","debouncer","indexData","limitData","SearchCompanyStore","LIMIT","countData","resultData","resultPromise","orderByData","orderByDescData","freeSearch","countryIds","mailTime","Daily","paUserIds","setCompanyAgent","newLimit","isSearchEmpty","orderByDesc","orderByQuary","newData","concat","count","getStorage","storeAgent","setStorage","clearStorage","clear","removeStorage","removeItem","searchItemPageData","searchItemPagePromise","searchItemNextPagePromise","pageData","isAgent","getInitialAgent","agentKeys","initialAgentKeys","SearchStore","orderByOptions","bestMatch","typeId","args","setAgent","page","loadNextPage","isCorrectForm","values","searchItemPageResults","results","filterSearchItemList","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","height","bookDemoUrl","domain","$vmx","calendlyBookdemo","calendlyCustomer","default","component","contactContainer","scrollIntoView","components","FormBookDemo","on","$event","emptyListText","onFilterText","onOrderBy","onListView","itemResults","filterFunc","blacklistRemoved","_l","allResults","addToLimit","_e","cleanupModalId","scopedSlots","_u","fn","proxy","model","callback","$$v","expression","isItemInBlacklists","blacklits","class","fade","bsBackdrop","modalClasses","paddingX","paddingY","gutter","showHeader","headerBgColor","bodyBgColor","bodyTextColor","_t","size","centered","scrollable","required","routeName","listItem","getPhase","highlightedCriterionTypes","$tc","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","stopPropagation","preventDefault","hasProduct","createNote","note","downloadName","mailHeader","text","editNote","openDeleteModal","createdBy","collapsed","excessNotes","isBasicProduct","getOutlookCalenderEventLink","paywallModalId","_m","getOfficeCalenderEventLink","getGoogleCalendarEventLink","getICS","fromDate","toDate","location","href","mailBody","from","to","encodeURIComponent","shortMailDetails","mailDetails","cal","createEvent","start","end","summary","description","toURL","formatDate","formatTextToHtml","replace","replaceAll","formatUtils","hasMore","editModalId","openPaywallModal","deleteModalId","DropdownMailExport","Boolean","NoteList","containerClasses","openBlacklistRemoveModal","openBlacklistSettingsModal","exportlink","mailToString","copyToClipboard","arguments","linkCopied","isOnList","listButtonTooltip","openListAddModal","fixedHeight","listsWithObject","isInList","isOnUserBlacklist","$emit","email","subject","encodeURI","getUrl","open","baseUrl","sld","tld","navigator","clipboard","writeText","LanguageIds","submit","submitting","getNotesForProject","getNotesForProcurement","updateNote","deleteNote","noteService","loading","setEventListeners","modalElement","addEventListener","initializeModal","clickBackdrop","hideModal","getInstance","hide","BaseModalContainer","buttonRowClasses","validateNote","$set","formStyleClasses","submitEvent","submitButtonText","background","needsValidation","textColor","styleClasses","wasValidated","inputForm","classList","add","remove","checkValidity","users","addEventListeners","initialNote","colleagues","companyId","noteText","validate","formIsValid","newNote","AbstractForm","isScrollable","scrollSize","dailyUpdates","update","updateClasses","getLink","currentTarget","blurred","convertUpdates","set","day","daysSince","diff","updatesByDay","findIndex","getFullYear","getMonth","getDate","b","daily","amount","LOGGED_IN_PROJECT_VIEW","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","toUpperCase","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","$router","project","_showDetails","procurementReference","itemsMatch","proc","isNextDeadline","span","innerHTML","innerText","substr","date3","date4","formatText","maxChars","DropdownIconBar","DropdownUpdates","filterText","onShowBlacklistsed","sortingOptions","v","returnOrderBy","viewType","option","backgroundColor","directives","rawName","modifiers","arg","borderBottom","placeholder","composing","$forceUpdate","emitSubmit","isRemoved","isBlacklisted","removeUserFromBlacklist","routerLink","hasProcurements","cardPadding","toLocaleString","sanitizedText","showProcurements","relatedProcurementText","pushBlacklist","hideProcurements","SearchItemsListView","orderByDescending","listView","resultsForList","resultsForCard","compareLatestUpdate","listViewDefault","val","sortName","sortMethod","DropdownOrderBy","ListItemCard","SearchItemCard","SearchInput","blacklistedItems","showMoreLimit","cleanupError","resetBlacklistPage","toLowerCase","resultcopy","resetPage","catch","reason","SmallListLayout","resetToken","passwordSaved","isLoggedIn","password1","isValidSecondPassword","password2","showForgotPassword","sendResetEmail","alertType","alertMessage","login","centerHeader","bodyText","unauthorized","loginDetails","putUser","updateEmail","newEmail","sendResetPasswordEmail","sendChangePasswordEmail","changePassword","newPassword","sendRequestSubscription","phone","sendChangeSubscription","newSubscription","sendCancelSubscription","sendBookDemo","companyName","getUsersInCompany","userService","username","password","rememberMe","showError","mailSent","mailError","isValid","inputName","inputPassword","loginIn","redirect","inputEmail","LOGGED_IN_DASHBOARD","inputPasswordAgain","abstractForm","setValidated","FormLogin","navlocation","active","routeHelp","viewDefaultLogin","changeToLogin","logoClasses","getLogo","loggedIn","black","logo","getDomains","isActive","onClick","getDomainSVG","nativeCountryName","domains","domain1","domain2","backgroundImage","backgroundSize","backgroundRepeat","host","root","bsAutoClose","routeUserSettings","logout","LOGGED_IN_USER_SETTINGS","canBeClosed","DropdownProfileContent","views","limitedAccess","showLogin","currentRoute","LOGGED_IN_HELP","navbarLocations","LOGGED_IN_BLACKLIST_VIEW","LOGGED_IN_SEARCH","LOGGED_IN_COMPANY_SEARCH","beforeEach","next","isLoggedInLimitedAccess","$route","DropdownProfileLimitedContent","BaseLogo","DropdownProfile","DropdownDomain","fileName","FormChangePassword","TheHeader","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","createCompanyAgentClick","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","limitedCompanyAgents","searchWithCompanyAgent","openCompanyAgentSettingsModal","amountOfResults","$bvModal","CompanyAgentCountField","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","log","BaseLoadingSpinner","PRINT_PROJECT","lastSeen","LOGGED_IN_LIST_VIEW","DropdownActivitylog","criterionTypeData","routeProjectView","RELATED_ARTICLES_AMOUNT","smallWindow","$root","articles","y","innerWidth","agentsLoaded","companyAgentsLoaded","companyListsLoaded","listsLoaded","articleDraggable","AgentsOverview","ArticleCard","CompanyAgentsOverview","CompanyListsOverview","HorizontalDraggable","ListsOverview","ProjectReferenceCard","Error404","openNotificationSidebar","notifications","showSidebar","getNotifications","isSeen","setAllSeen","notificationService","overlayClickable","notification","fold","selectedIndex","savingUser","showNotifications","notificationsSeen","routerParams","styleClassObj","disabled","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","openCompanyAgentReplaceModal","canReset","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","CountrySelector","OrderByOptions","fillCompanyLists","UPDATED","setLimit","setOrderBy","tableCompanyList","CompanyCriteriaMenu","TableCompanyListsAll","canResetAgent","openAgentReplaceModal","onUpdateAgent","searchItemPage","totalResults","pageCount","pageNumber","procurementPhaseCount","projectPhaseCount","isProjectPhaseDisabled","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","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","setOrderByDesc","isNaN","savedAgent","updateCriteriaForType","updateAgent","AgentCriteriaMenu","ModalAgentReplace","PageNavigationBar","callingCode","setNumber","setCallingCode","initialMail","committed","mailChanged","inputPhone","isNumbersAndLetters","isBetween1And255Characters","isOnlyLetters","reg","RegExp","test","time","isSameOrAfter","isSameOrBefore","formValidator","initialEmail","showEmailSent","showEmailSentError","showCancelSent","showChangeSent","submitPressed","retries","validUsername","validName","validPhone","validMail","validPosition","validateLetterNumberString","validateEmail","validatePhoneNumber","validateLetterString","FormUserSettings","routes","path","meta","requireLogin","props","route","autoscroll","LOGGED_OUT_CHANGE_PASSWORD","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","fetchProducts","fetchProductsFeatures","fetchColleagues","fetchAgents","fetchCompanyAgents","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","selected","_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","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","chosenCompanyAgent","pushCompanyAgent","companyAgentCopy","openCompanyAgentDeleteModal","companyAgentName","postCompanyAgent","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","ModalCompanyAgentDelete","ModalCompanyAgentReplace","ModalCompanyAgentSettings","ModalCompanyListAdd","ModalCompanyListRemove","ModalCompanyListSettings","ModalListAdd","ModalListRemove","ModalListSettings","ModalTip","getTranslations","translationService","productionTip","gtmCode","splash","defer","enabled","debug","loadScript","vueRouter","trackOnNextTick","beforeCreate","html","documentElement","init","setLocaleMessage","render","h","$mount"],"mappings":"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","file":"js/app.36491ad0.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\":\"957db544\"}[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-items-list-view.vue?vue&type=style&index=0&id=30845095&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-criteria-menu.vue?vue&type=style&index=0&id=4a7f3074&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/no.42509704.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=f21c8830&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.d0e6a11c.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.975cbedb.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!./search-item-card.vue?vue&type=style&index=0&id=7ea20370&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!./company-agents-overview.vue?vue&type=style&index=0&id=ea02aa7e&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!./agent-criteria-filter.vue?vue&type=style&index=0&id=74d51214&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!../../../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!./company-agent-count-field.vue?vue&type=style&index=0&id=d66bd968&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=9daeb1e8&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!./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!../../../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=b966aaa6&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!./layout.scss?vue&type=style&index=0&id=30159932&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!./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!./dropdown-profile-content.vue?vue&type=style&index=0&id=7ae392ba&scoped=true&lang=scss&\"","export enum RouterNames {\n LOGGED_IN_DASHBOARD = 'Dashboard',\n LOGGED_IN_SEARCH = 'Search',\n LOGGED_IN_PROJECT_VIEW = 'Project View',\n LOGGED_IN_PROCUREMENT_VIEW = 'Procurement View',\n LOGGED_IN_BLACKLIST_VIEW = 'Blacklist View',\n LOGGED_IN_USER_SETTINGS = 'User Settings',\n LOGGED_IN_LIST_VIEW = 'List View',\n LOGGED_IN_COMPANY_SEARCH = 'Company Search',\n LOGGED_IN_COMPANY_VIEW = 'Company View',\n LOGGED_IN_COMPANY_LIST_VIEW = 'Company List View',\n LOGGED_IN_ACCESS_EXPIRED = 'Access Expired',\n LOGGED_OUT_CHANGE_PASSWORD = 'Change Password',\n INVALID_SESSION = 'Invalid Session',\n LOGGED_OUT_IMPERSONATE_USER = 'Impersonate User',\n PRINT_PROCUREMENT = 'PrintProcurement',\n PRINT_PROJECT = 'PrintProject',\n LOGGED_IN_HELP = 'Help',\n ERROR_NOT_FOUND = '404',\n\n // LOGGED_OUT_ABOUT = 'About',\n // LOGGED_OUT_BOOK_DEMO = 'Book Demo',\n // LOGGED_OUT_CONTACT = 'Contact',\n // LOGGED_OUT_COOKIE_POLICY = 'Cookie Policy',\n // LOGGED_OUT_HOME = 'Home',\n // LOGGED_OUT_JURA = 'Jura',\n // LOGGED_OUT_PRICES = 'Prices',\n // LOGGED_OUT_SERVICES = 'Services',\n // LOGGED_OUT_UPDATE_EMAIL = 'Update Email',\n}\n","import { findDomain } from './domain-utils';\nimport { Language } from '@/interfaces/language';\nimport languagesJSON from '../../resources/languages/languages.json';\n\nexport const languages: Language[] = languagesJSON;\n\nexport const getLanguageId: () => Language = () => {\n try {\n const languages: Language[] = languagesJSON;\n const languageId = JSON.parse(localStorage.getItem('languageId')) as Language;\n if (languageId?.id == null) {\n languages.find(language => language.id === findDomain().languageId.id)\n return findDomain().languageId;\n }\n return languageId;\n } catch (err) {\n return findDomain().languageId;\n }\n};\n","export class CookieUtils {\n constructor() {}\n\n public getCookie = (name: string): string => {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) == 0) {\n return c.substring(nameEQ.length, c.length);\n }\n }\n return null;\n };\n\n public setCookie = (name: string, value: string, hours: number) => {\n let expires = '';\n if (hours) {\n const date = new Date();\n date.setTime(date.getTime() + hours * 60 * 60 * 1000);\n expires = ';expires=' + date.toUTCString();\n }\n document.cookie = `${name}=${value ? value : ''}${expires};path=/`;\n };\n\n public deleteCookie = (name: string) => {\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;Path=/;';\n };\n}\n\nexport const cookieUtils = new CookieUtils();\n","export class ResponseCodes {\n\n public static readonly SUCCESS = 200;\n\n public static readonly BAD_REQUEST = 400;\n public static readonly UNAUTHORIZED = 401;\n public static readonly FORBIDDEN = 403;\n public static readonly NOT_FOUND = 404;\n public static readonly CONFLICT = 409;\n public static readonly INVALID_TOKEN = 498;\n\n public static readonly INTERNAL_SERVER_ERROR = 500;\n\n // Custom Responses\n public static readonly ACCESS_RUN_OUT = 480; // No more views\n public static readonly NOT_CORRECT_SESSION = 481; // Session does not match user session\n public static readonly SESSION_NULL = 482 // \"Session is null\"\n\n public static is2xx = (responseCode: number) => {\n return responseCode >= 200 && responseCode < 300;\n };\n}","import * as domainUtils from '@/util/domain-utils';\nimport * as languageUtils from '@/util/language-utils';\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { cookieUtils } from '@/util/cookie-utils';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { vmx } from '@/store';\n\n/**\n * Abstract class to extend when creating specific services.\n * @author Jais Christiansen\n */\n\nexport class AbstractService {\n private axiosInstance: AxiosInstance;\n // private token: string;\n private config: AxiosRequestConfig;\n\n constructor(config?: AxiosRequestConfig) {\n this.config = config;\n this.axiosInstance = axios.create(config);\n // this.token = cookieUtils.getCookie('session') ?? '';\n\n this.axiosInstance.interceptors.request.use((param) => ({\n ...param,\n headers: {\n Authorization: `Bearer ${this.getToken()}`,\n 'Content-Type': 'application/json',\n },\n params: {\n ...param.params,\n languageId: languageUtils.getLanguageId().id,\n domainId: domainUtils.domain.id,\n },\n }))\n\n const onSuccefullResponse: (response: AxiosResponse) => AxiosResponse = response => {\n return response;\n };\n\n const onFailureResponse: (error: AxiosError) => Promise = async error => {\n const response = error.response\n\n console.error(`!!! Service Error !!!\n Service: ${this.constructor.name}\n URL: ${response.config.url} (${response.config.method})\n Status: ${response.status}\n Status Text: ${response.statusText}\n Body: ${response.data.slice(0, 100)}`);\n\n if (error.response.status == ResponseCodes.NOT_CORRECT_SESSION) {\n await vmx.session.loginOut({ name: RouterNames.INVALID_SESSION });\n return;\n }\n\n if (error.response.status == ResponseCodes.SESSION_NULL) {\n await vmx.session.panic('You have been logged out by an administrator')\n return;\n }\n\n return error.response;\n }\n\n this.axiosInstance.interceptors.response.use(onSuccefullResponse, onFailureResponse);\n }\n\n private formatUrl = (url: string) => url;\n\n public getToken = () => {\n return cookieUtils.getCookie('session') ?? ''\n };\n\n public setToken = (token: string, hours: number) => {\n cookieUtils.setCookie('session', token, hours);\n };\n\n protected get = async (\n url: string,\n config?: AxiosRequestConfig,\n ): Promise> => {\n const response: AxiosResponse = await this.axiosInstance.get(this.formatUrl(url), config)\n return response;\n };\n\n protected post = async (\n url: string,\n body?: any,\n config?: AxiosRequestConfig,\n ): Promise> => {\n const response: AxiosResponse = await this.axiosInstance.post(url, body, config)\n return response;\n };\n\n protected put = async (\n url: string,\n body?: any,\n config?: AxiosRequestConfig,\n ): Promise> => {\n const response: AxiosResponse = await this.axiosInstance.put(url, body, config)\n return response;\n };\n\n protected delete = async (\n url: string,\n config?: AxiosRequestConfig,\n ): Promise> => {\n const response: AxiosResponse = await this.axiosInstance.delete(url, config)\n return response;\n };\n\n public getResponse = (response: AxiosResponse): T => {\n if (response != null) {\n if (ResponseCodes.is2xx(response.status)) {\n return this.success(response);\n }\n throw response.status;\n }\n throw 500;\n }\n\n public success = (response: AxiosResponse): T => {\n return response.data;\n };\n\n}\n","import * as qs from 'qs';\nimport { PathLike } from 'fs';\n\n/**\n * Config to use as parameter for Axios API instances (when using axios.create(config))\n * @author Jais Christiansen\n */\n\nconst baseURL =\n process.env.VUE_APP_API_URL && process.env.VUE_APP_API_PREFIX\n ? process.env.VUE_APP_API_URL + process.env.VUE_APP_API_PREFIX\n : 'http://localhost:8080/rest/restapi';\n\nexport const apiConfig = {\n returnRejectedPromiseOnError: true,\n withCredentials: true,\n timeout: 0,\n baseURL,\n headers: {\n common: {\n Authorization: '',\n 'Cache-Control': 'no-cache, no-store, must-revalidate',\n Pragma: 'no-cache',\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n Origin: process.env.BASE_URL,\n },\n },\n paramsSerializer: (params: PathLike) => qs.stringify(params, { indices: false }),\n};\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { Agent } from '@/interfaces/agent';\nimport { AgentStatistics } from '@/interfaces/agent-statistics';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport { SearchItemPage } from '@/interfaces/search-item-page';\n\nconst api = '/agents';\n\nexport class AgentService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getAgents = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getAgentById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n\n public postAgent = async (agent: Agent): Promise => {\n const response = await this.post(api, agent);\n return this.getResponse(response);\n };\n\n public putAgent = async (agent: Agent): Promise => {\n const response = await this.put(api, agent);\n return this.getResponse(response);\n };\n\n public deleteAgent = async (id: number): Promise => {\n const response = await this.delete(api + '/' + id);\n return this.getResponse(response);\n };\n\n public search = async (\n agent: Agent,\n index: number,\n limit: number,\n orderBy: string,\n ): Promise => {\n const config = {\n params: orderBy\n ? { limit: limit, index: index, orderBy: orderBy }\n : { limit: limit, index: index },\n };\n const response = await this.post(api + '/search', agent, config);\n if (response != null && ResponseCodes.is2xx(response.status)) {\n return this.success(response);\n } else {\n throw response;\n }\n };\n\n public searchCount = async (agent: Agent, maxDaysOld?: number): Promise => {\n let response;\n if (maxDaysOld != null) {\n const config = {\n params: { maxDaysOld: maxDaysOld },\n };\n response = await this.post(`${api}/search/count`, agent, config);\n } else {\n response = await this.post(`${api}/search/count`, agent);\n }\n return this.getResponse(response);\n };\n\n public agentStatistics = async () : Promise => {\n const response = await this.get(`${api}/statistics`);\n return this.getResponse(response);\n }\n}\n\nexport const agentService = new AgentService(apiConfig);\n","import { createModule as createModuleVuex } from 'vuex-class-component';\n\nexport const createModule = (namespaced: string) => {\n return class StoreModule extends createModuleVuex({ namespaced, strict: false }) {\n public get namespace(): string {\n return namespaced;\n }\n };\n};\n\nexport const preserve = async (\n promise: Promise,\n promiseFunc: () => Promise,\n setter: (val: T) => void,\n reset?: boolean,\n): Promise => {\n if (promise != null && !(reset ?? false)) {\n return promise;\n }\n promise = promiseFunc();\n promise.then(setter);\n return promise;\n};\n","import { action } from 'vuex-class-component';\nimport { Agent } from '@/interfaces/agent';\nimport { agentService } from '@/services/restapi/agent-service';\nimport { createModule } from '../preloader';\nimport { vmx } from '..';\n\nexport default class AgentStore extends createModule('agent') {\n private agentsData = null as Agent[];\n private agentsPromise = null as Promise;\n\n get agents(): Agent[] {\n return this.agentsData?.sort((agent1, agent2) => agent1.id - agent2.id);\n }\n\n get agentsLoaded(): boolean {\n return this.agents != null;\n }\n\n @action\n async fetchAgents(): Promise {\n if (this.agentsData != null) {\n return this.agentsData;\n }\n\n if (this.agentsPromise != null) {\n return this.agentsPromise;\n }\n\n this.agentsPromise = agentService.getAgents();\n this.agentsPromise.then(this.setAgents);\n\n return this.agentsPromise;\n }\n\n @action\n async pushAgent(agent: Agent): Promise {\n agent.name = agent.name.trim();\n\n const updatedAgent =\n agent.id == null ? await agentService.postAgent(agent) : await agentService.putAgent(agent);\n\n this.agentsPromise = agentService.getAgents();\n this.agentsData = await this.agentsPromise;\n\n return updatedAgent;\n }\n\n @action\n async deleteAgent(agent: Agent): Promise {\n await agentService.deleteAgent(agent.id);\n\n if (vmx.search.agent.id == agent.id) {\n vmx.search.clearAgent();\n }\n\n await agentService.getAgents().then(this.setAgents);\n }\n\n @action\n async fetchAgentCount(agent: Agent, maxDaysOld?: number): Promise {\n return agentService.searchCount(agent, maxDaysOld);\n }\n\n @action\n private async setAgents(agents: Agent[]) {\n this.agentsData = agents.sort((a1, a2) => a1.name.localeCompare(a2.name));\n }\n}\n","export enum Quarter {\n FIRST_QUARTER = 'Q1',\n SECOND_QUARTER = 'Q2',\n THIRD_QUARTER = 'Q3',\n FOURTH_QUARTER = 'Q4',\n}\n","import { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { globalFunctions } from '@/util/global-functions';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\nconst api = '/blacklists';\n\nexport class BlacklistService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n // Get all blacklists for users member\n public getBlacklists = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public createBlacklist = async (blacklist: Blacklist): Promise => {\n const response = await this.post(api, blacklist);\n return this.getResponse(response);\n };\n\n // Add blacklist for user\n public editBlacklist = async (blacklist: Blacklist): Promise => {\n const response = await this.put(api, blacklist);\n return this.getResponse(response);\n };\n\n // Delete blacklist for user\n public deleteBlacklist = async (id: number): Promise => {\n const response = await this.delete(`${api}/remove/${id}`);\n return this.getResponse(response);\n };\n\n // Get all procurements and project on blacklist for user\n public getAllProcurementsAndProjects = async (): Promise<(Project | Procurement)[]> => {\n const response = await this.get<(Project | Procurement)[]>(api + '/pdata');\n return this.getResponse(response);\n };\n\n public cleanupBlacklist = async (cleanForAll: boolean): Promise => {\n let config = null;\n if (cleanForAll != null) {\n config = {\n params: {\n cleanForAll,\n },\n };\n }\n const response = await this.get(`${api}/cleanup-blacklist`, config);\n return this.getResponse(response);\n }\n}\n\nexport const blacklistService = new BlacklistService(apiConfig);\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Update } from '@/interfaces/update';\n\nconst api = '/updates';\n\nexport class UpdateService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getUpdateById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n\n public getUpdatesByProjectId = async (projectId: number): Promise => {\n const response = await this.get(`${api}/byProjectId/${projectId}`);\n return this.getResponse(response);\n }\n\n public getUpdatesByProcurementId = async (procurementId: number): Promise => {\n const response = await this.get(`${api}/byProcurementId/${procurementId}`);\n return this.getResponse(response);\n }\n\n public getActivityLogsFromListId = async (listId: number): Promise => {\n const response = await this.get(`${api}/byListId/${listId}`);\n return this.getResponse(response);\n }\n}\n\nexport const updateService = new UpdateService(apiConfig);\n","import { ActivityLog } from '@/interfaces/non-entities/activity-log';\nimport { BuildingDate } from '@/interfaces/building-date';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { Quarter } from '@/interfaces/quarter';\nimport { Update } from '@/interfaces/update';\nimport { updateService } from '@/services/restapi/update-service';\n\nexport const globalFunctions = {\n isProcurement(data: Procurement | Project): data is Procurement {\n return (data as Procurement).procurementPhase !== undefined;\n },\n\n isProcurementOrProcurementReference(\n data: ProcurementReference | Project | Procurement,\n ): data is ProcurementReference | Procurement {\n return (data as ProcurementReference).procurementPhase !== undefined;\n },\n\n isProcurementAndNotProcurementReference(\n data: ProcurementReference | Procurement,\n ): data is Procurement {\n return (data as Procurement).procurementPhaseRecords !== undefined;\n },\n\n timeout(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n },\n\n buildingDateFromString(str: string): BuildingDate {\n const splittedString: string[] = str.split(' ');\n let quarter: Quarter;\n if (splittedString[0] === 'Q1') {\n quarter = Quarter.FIRST_QUARTER;\n } else if (splittedString[0] === 'Q2') {\n quarter = Quarter.SECOND_QUARTER;\n } else if (splittedString[0] === 'Q3') {\n quarter = Quarter.THIRD_QUARTER;\n } else {\n quarter = Quarter.FOURTH_QUARTER;\n }\n return {\n quarter: quarter,\n year: parseInt(splittedString[1]),\n };\n },\n\n findLastUpdate(updates: Update[]): string {\n if (updates && updates.length > 0) {\n return updates\n .map((u) => {\n return u.created;\n })\n .sort()\n .reverse()[0]\n .toString();\n } else {\n return undefined;\n }\n },\n\n isOfInterfaceType(object: any, ...propertyNames: string[]): object is Type {\n for (const propertyName of propertyNames) {\n if (!(propertyName in object)) {\n return false;\n }\n }\n return true;\n },\n\n getPaywallModalId(): string {\n return 'paywall-modal';\n },\n \n async createActivityLogFromItem(item: Project | Procurement | ProcurementReference): Promise {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(item);\n const updates = isProcurement\n ? await updateService.getUpdatesByProcurementId(item.id)\n : await updateService.getUpdatesByProjectId(item.id);\n return {\n id: item.id,\n isProcurement,\n name: item.name,\n updates,\n };\n },\n};\n","import { action } from 'vuex-class-component';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { blacklistService } from '@/services/restapi/blacklist-service';\nimport { createModule } from '../preloader';\nimport { globalFunctions } from '@/util/global-functions';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport { vmx } from '..';\n\nexport default class BlacklistStore extends createModule('blacklist') {\n private blacklistsData = null as Blacklist[];\n private blacklistsPromise = null as Promise;\n\n get blacklists(): Blacklist[] {\n return this.blacklistsData;\n }\n\n get userBlacklists(): Blacklist[] {\n return (\n this.blacklists?.filter((blacklist) =>\n blacklist.usersIds.some((id) => vmx.user.user.id === id),\n ) ?? []\n );\n }\n\n get isOnUserBlacklist(): (dataObject: Project | Procurement) => boolean {\n return (dataObject) => {\n const isProcurement = globalFunctions.isProcurement(dataObject);\n return this.blacklists\n ?.filter((blacklist) => blacklist.usersIds.some((userId) => vmx.user.user.id == userId))\n .some(\n (blacklist: Blacklist) =>\n dataObject.id == (isProcurement ? blacklist.procurementId : blacklist.projectId),\n );\n };\n }\n\n @action\n async pushBlacklist(blacklist: Blacklist): Promise {\n if (blacklist == null) {\n throw 'Tried to push null blacklist';\n }\n\n const newBlacklist = await blacklistService.editBlacklist(blacklist);\n\n if (newBlacklist != null) {\n this.setBlacklists([\n ...this.blacklists.filter((blacklist) => blacklist.id != newBlacklist.id),\n newBlacklist,\n ]);\n }\n return newBlacklist;\n }\n\n @action\n async deleteBlacklist(blacklistId: number) {\n await blacklistService.deleteBlacklist(blacklistId);\n\n this.blacklistsData = this.blacklists.filter((blacklist) => blacklist.id != blacklistId);\n }\n\n @action\n async filterSearchItemList(searchItemList: (Procurement | Project)[]) {\n const blacklists = await this.fetchBlacklists();\n\n return searchItemList.filter((item) => {\n const isProcurement = globalFunctions.isProcurement(item);\n\n if (isProcurement) {\n return blacklists.every((blacklist) => blacklist.procurementId !== item.id);\n } else {\n return blacklists.every((blacklist) => blacklist.projectId !== item.id);\n }\n });\n }\n\n @action\n async fetchBlacklists() {\n if (this.blacklists != null) {\n return this.blacklists;\n }\n\n if (this.blacklistsPromise != null) {\n return this.blacklistsPromise;\n }\n\n this.blacklistsPromise = blacklistService.getBlacklists();\n this.blacklistsPromise.then((blacklists) => {\n this.blacklistsData = blacklists;\n });\n\n return this.blacklistsPromise;\n }\n\n @action\n async setBlacklists(blacklists: Blacklist[]) {\n this.blacklistsData = blacklists;\n }\n\n @action\n async modBlacklists(f: (blacklists: Blacklist[]) => Blacklist[]) {\n this.setBlacklists(f(this.blacklists));\n }\n\n @action\n async addBlacklist(blacklist: Blacklist) {\n this.blacklists.push(blacklist);\n }\n\n @action\n async removeBlacklist(blacklist: Blacklist) {\n this.setBlacklists(this.blacklists.filter((blacklist0) => blacklist0.id != blacklist.id));\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\n\nconst api = '/company-agents';\n\nexport class CompanyAgentService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getCompanyAgent = async (id: number): Promise => {\n const response = await this.get(`${api}/${id}`);\n return this.getResponse(response);\n }\n\n public getAllCompanyAgentsForUser = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n }\n\n public createCompanyAgent = async (companyAgent: CompanyAgent): Promise => {\n const response = await this.post(api, companyAgent);\n return this.getResponse(response);\n }\n\n public updateCompanyAgent = async (companyAgent: CompanyAgent): Promise => {\n const response = await this.put(api, companyAgent);\n return this.getResponse(response);\n }\n\n public deleteCompanyAgent = async (id: number): Promise => {\n const response = await this.delete(`${api}/${id}`);\n return this.getResponse(response);\n }\n}\n\nexport const companyAgentService = new CompanyAgentService(apiConfig);","import { action } from 'vuex-class-component';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { companyAgentService } from '@/services/restapi/company-agent-service';\nimport { createModule } from '../preloader';\nimport { vmx } from '..';\n\nexport default class CompanyAgentStore extends createModule('company-agent') {\n private companyAgentsData = null as CompanyAgent[];\n private companyAgentsPromise = null as Promise;\n\n get companyAgents(): CompanyAgent[] {\n return this.companyAgentsData?.sort((agent1, agent2) => agent1.id - agent2.id);\n }\n\n get companyAgentsLoaded(): boolean {\n return this.companyAgents != null;\n }\n\n @action\n async fetchCompanyAgents(): Promise {\n if (!vmx.user.hasCompanyAccess) {\n return [];\n }\n \n if (this.companyAgentsData != null) {\n return this.companyAgentsData;\n }\n\n if (this.companyAgentsPromise != null) {\n return this.companyAgentsPromise;\n }\n\n this.companyAgentsPromise = companyAgentService.getAllCompanyAgentsForUser();\n this.companyAgentsPromise.then(this.setCompanyAgents);\n\n return this.companyAgentsPromise;\n }\n\n @action\n async pushCompanyAgent(companyAgent: CompanyAgent): Promise {\n companyAgent.name = companyAgent.name.trim();\n\n const updatedCompanyAgent = await companyAgentService.updateCompanyAgent(companyAgent);\n\n this.companyAgentsPromise = companyAgentService.getAllCompanyAgentsForUser();\n this.companyAgentsData = await this.companyAgentsPromise;\n\n return updatedCompanyAgent;\n }\n\n @action\n async postCompanyAgent(companyAgent: CompanyAgent): Promise {\n companyAgent.name = companyAgent.name.trim();\n\n const updatedCompanyAgent = await companyAgentService.createCompanyAgent(companyAgent);\n\n this.companyAgentsPromise = companyAgentService.getAllCompanyAgentsForUser();\n this.companyAgentsData = await this.companyAgentsPromise;\n\n return updatedCompanyAgent;\n }\n\n @action\n async deleteCompanyAgent(companyAgent: CompanyAgent): Promise {\n await companyAgentService.deleteCompanyAgent(companyAgent.id);\n\n if (vmx.searchCompany.companyAgent.id == companyAgent.id) {\n vmx.searchCompany.resetCompanyAgent();\n }\n\n await companyAgentService.getAllCompanyAgentsForUser().then(this.setCompanyAgents);\n }\n\n @action\n private async setCompanyAgents(companyAgents: CompanyAgent[]) {\n this.companyAgentsData = companyAgents.sort((a1, a2) => a1.name.localeCompare(a2.name));\n }\n}","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\n\nconst api = '/company-lists';\n\nexport class CompanyListService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getCompanyLists = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n }\n\n public createCompanyList = async (companyList: CompanyList): Promise => {\n const response = await this.post(api, companyList);\n return this.getResponse(response);\n }\n\n public updateCompanyList = async (companyList: CompanyList): Promise => {\n const response = await this.put(api, companyList);\n return this.getResponse(response);\n }\n\n public deleteCompanyList = async (id: number): Promise => {\n const response = await this.delete(api + '/' + id);\n return this.getResponse(response);\n };\n\n public getCompanyListItems = async (id: number): Promise => {\n const response = await this.get(`${api}/items/${id}`);\n return this.getResponse(response);\n }\n}\n\nexport const companyListService = new CompanyListService(apiConfig);","import { action } from 'vuex-class-component';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { companyListService } from '@/services/restapi/company-list-service';\nimport { createModule } from '../preloader';\nimport { vmx } from '..';\n\nexport default class CompanyListStore extends createModule('company-list') {\n private companyListsData = null as CompanyList[];\n private companyListPromise = null as Promise;\n\n get companyListById(): (id: number) => CompanyList {\n return (id) => {\n if (this.companyLists === null) {\n return null;\n }\n for (const companyList of this.companyLists) {\n if (companyList.id == id) {\n return companyList;\n }\n }\n return null;\n }\n }\n\n get companyLists(): CompanyList[] {\n return this.companyListsData;\n }\n\n get companyListsLoaded(): boolean {\n return this.companyLists != null;\n }\n\n get companyListsWithCompany(): (company: Company) => CompanyList[] {\n return (company) => {\n if (!company) {\n return [];\n }\n return this.companyLists.filter((list) =>\n list.companies && list.companies.some((com) => com.id === company.id),\n );\n }\n }\n\n get isIdInCompanyList(): (id: number) => boolean {\n return (id) => {\n for (const list of this.companyLists ?? []) {\n if (list.companies.some((listCom) => listCom.id === id)) {\n return true;\n }\n }\n return false;\n }\n }\n\n get isInCompanyList(): (company: Company) => boolean {\n return (company) => {\n for (const list of this.companyLists ?? []) {\n if (list.companies.some((listCom) => listCom.id === company.id)) {\n return true;\n }\n }\n return false;\n }\n }\n\n\n @action\n async deleteCompanyList(id: number): Promise {\n await companyListService.deleteCompanyList(id);\n this.companyListPromise = companyListService.getCompanyLists();\n this.companyListsData = await this.companyListPromise;\n }\n\n @action\n async fetchCompanyLists(): Promise {\n if (!vmx.user.hasCompanyAccess) {\n return [];\n }\n if (this.companyListsData != null) {\n return this.companyListsData;\n }\n\n if (this.companyListPromise != null) {\n return await this.companyListPromise;\n }\n\n this.companyListPromise = companyListService.getCompanyLists();\n this.companyListsData = await this.companyListPromise;\n\n return this.companyListsData;\n }\n\n @action\n async postCompanyList(companyList: CompanyList): Promise {\n const newCompanyList = await companyListService.createCompanyList(companyList);\n\n this.companyListPromise = companyListService.getCompanyLists();\n this.companyListsData = await this.companyListPromise;\n\n return newCompanyList;\n }\n\n @action\n async putCompanyList(companyList: CompanyList): Promise {\n const newCompanyList = await companyListService.updateCompanyList(companyList);\n\n this.companyListPromise = companyListService.getCompanyLists();\n this.companyListsData = await this.companyListPromise;\n\n return newCompanyList;\n }\n\n @action\n async refetchCompanyLists(): Promise {\n if (!vmx.user.hasCompanyAccess) {\n return [];\n }\n \n this.companyListPromise = companyListService.getCompanyLists();\n this.companyListsData = await this.companyListPromise;\n\n return this.companyListsData;\n }\n}","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Country } from '@/interfaces/country';\n\nconst api = '/countries';\n\nexport class CountryService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getCountries = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n }\n}\n\nexport const countryService = new CountryService(apiConfig);","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { Country } from '@/interfaces/country';\nimport { countryService } from '@/services/restapi/country-service';\n\nexport default class CountryStore extends createModule('country') {\n private countriesData = null as Country[];\n private countryPromise = null as Promise;\n\n get countries(): Country[] {\n return this.countriesData;\n }\n\n @action\n async setCountries(countries: Country[]) {\n this.countriesData = countries;\n }\n\n @action\n async fetchCountries() {\n return this.countriesData ?? preserve(this.countryPromise, countryService.getCountries, this.setCountries);\n }\n}","import { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\nimport { Criterion } from '@/interfaces/criterias/criterion';\n\nexport class CriteriaUtils {\n constructor() {}\n\n public sortCriteriaByName = (criteria: AbstractCriteria[]): AbstractCriteria[] => {\n return this.sortCriteria(criteria);\n };\n\n public sortCriteriaTreeByName = (criteria: Criterion[]): Criterion[] => {\n return this.sortCriteriaTree(criteria);\n }\n\n private sortCriteria(criteria: AbstractCriteria[]): AbstractCriteria[] {\n criteria = criteria.sort((c1, c2) => c1.name.localeCompare(c2.name));\n for (const criterium of criteria) {\n criterium.children = this.sortCriteria(criterium.children);\n }\n return criteria;\n }\n\n private sortCriteriaTree(criteria: Criterion[]): Criterion[] {\n criteria = criteria.sort((c1, c2) => c1.name.localeCompare(c2.name));\n for (const criterion of criteria) {\n criterion.children = this.sortCriteriaTree(criterion.children);\n }\n return criteria;\n }\n}\n\nexport const criteriaUtils = new CriteriaUtils();\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\n\nconst api = '/criteria';\n\nexport class CriterionService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getCriterionTypes = async (): Promise => {\n const response = await this.get(`${api}/criterion-types`);\n return this.getResponse(response);\n }\n}\n\nexport const criterionService = new CriterionService(apiConfig);","import { createModule, preserve } from '../preloader'\nimport { action } from 'vuex-class-component';\nimport { criteriaUtils } from '@/util/criteria-utils';\nimport { Criterion } from '@/interfaces/criterias/criterion';\nimport { criterionService } from '@/services/restapi/criterion-service';\nimport { CriterionType } from '@/interfaces/criterias/criterion-type'\nimport { vmx } from '..';\n\nexport default class CriterionStore extends createModule('criterion') {\n private criterionTypesData = null as CriterionType[];\n private criterionTypesPromise = null as Promise;\n\n get criterionTypes(): CriterionType[] {\n return this.criterionTypesData ?? [];\n }\n\n get searchableCriterionTypes(): CriterionType[] {\n return this.criterionTypes.filter(x => x.searchable);\n }\n\n get standardCriterionTypes(): CriterionType[] {\n return this.criterionTypes.filter(x => !x.tailored);\n }\n\n get tailoredCriterionTypes(): CriterionType[] {\n return this.criterionTypes.filter(x => x.tailored);\n }\n\n get criterionType(): (id:number) => CriterionType {\n return (id) => {\n if (this.criterionTypesData === null) {\n return null;\n }\n return this.criterionTypesData.find(criterionType => criterionType.id === id);\n }\n }\n\n get criteriaOfType(): (id: number) => Criterion[] {\n return (id) => {\n if (this.criterionTypesData === null) {\n return null;\n }\n return this.criterionTypesData.find(criterionType => criterionType.id === id).criteria;\n }\n }\n\n get criterionTypeFromTranslation(): (translation: string) => CriterionType {\n return (translation) => {\n if (this.criterionTypesData === null) {\n return null;\n }\n return this.criterionTypesData\n .find(criterionType => criterionType.translationProperty === translation);\n }\n }\n\n get criteriaOfTypeFromTranslation(): (translation: string) => Criterion[] {\n return (translation) => {\n if (this.criterionTypesData === null) {\n return null;\n }\n return this.criterionTypesData\n .find(criterionType => criterionType.translationProperty === translation).criteria;\n }\n }\n\n get highlightedCriterionTypes(): (isProcurement: boolean) => CriterionType[] {\n return (isProcurement) => {\n return this.criterionTypes.filter(ct => isProcurement ? ct.highlightedProcurement : ct.highlightedProject);\n }\n }\n\n @action\n async setCriterionTypes(criterionTypes: CriterionType[]) {\n criterionTypes.forEach(criterionType => {\n criterionType.criteria = criteriaUtils.sortCriteriaTreeByName(criterionType.criteria);\n });\n this.criterionTypesData = criterionTypes;\n // if (\n // this.criterionTypesData && vmx.search.agent\n // && !vmx.search.agent.id\n // && (vmx.search.agent.allowUnusedCriterionTypes?.length <= 0 ?? true)\n // ) {\n // vmx.search.agent.allowUnusedCriterionTypes = this.criterionTypesData.map(criterionType => criterionType.id);\n // }\n }\n\n @action\n async fetchCriterionTypes(): Promise {\n return this.criterionTypesData ??\n await preserve(this.criterionTypesPromise, criterionService.getCriterionTypes, this.setCriterionTypes);\n }\n}","import * as domainUtils from '../../util/domain-utils';\nimport { createModule } from '../preloader';\nimport { Domain } from '@/interfaces/domain';\n\nexport default class DomainStore extends createModule('domain') {\n get domain(): Domain {\n return domainUtils.domain;\n }\n\n get domains(): Domain[] {\n return domainUtils.domains;\n }\n}\n","import 'vuex-class-component';\nimport { createModule } from '../preloader';\nimport { File } from '@/interfaces/file';\n\nexport default class FileStore extends createModule('file') {\n private fileDomain = process.env.VUE_APP_FILE_DOMAIN || 'https://f.nordiskemedier.dk/';\n\n get fromFile(): (url: string, backupImageFormat?: string) => string {\n return (url, backupImageFormat) => {\n if (url && !url.endsWith('.') && !url.includes('null')) {\n return this.fileDomain + url;\n } else if (backupImageFormat === '1x1') {\n return this.fileDomain + 'project-agent/image-coming-1x1.png';\n } else if (backupImageFormat === '3x1') {\n return this.fileDomain + 'project-agent/image-coming-3x1.png';\n } else {\n return this.fileDomain + 'project-agent/image-coming-1x2.png';\n }\n };\n }\n\n get imageFromFile(): (file: File, backupImageFormat?: string) => string {\n return (file, backupImageFormat) => {\n if (file) {\n return file.link ? file.link : this.fromFile(`${file.code}.${file.extension}`, backupImageFormat);\n } else {\n return this.fromFile(undefined, backupImageFormat);\n }\n }\n }\n}\n","import da from '../../resources/translations/lang-da.json';\nimport en from '../../resources/translations/lang-en.json';\nimport sv from '../../resources/translations/lang-sv.json';\n// import MessagesType from './locales/message-type';\n\nconst messages = {\n da,\n en,\n sv,\n};\n\nexport default messages;\n","const numberFormats = {\n 'da-DK': {\n currency: {\n style: 'currency',\n currency: 'DKK',\n maximumFractionDigits: 0,\n },\n },\n 'en-US': {\n currency: {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n },\n },\n 'sv-SE': {\n currency: {\n style: 'currency',\n currency: 'SEK',\n maximumFractionDigits: 0,\n },\n },\n};\n\nexport default numberFormats;\n","import * as languageUtils from '../util/language-utils';\nimport messages from './messages';\nimport numberFormats from './locales/number-formats';\nimport Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nVue.use(VueI18n);\n\nexport default new VueI18n({\n locale: languageUtils.getLanguageId().iso6391 ?? process.env.VUE_APP_I18N_LOCALE ?? 'da',\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\n messages,\n numberFormats,\n});\n","import * as languageUtils from '../../util/language-utils';\nimport { action } from 'vuex-class-component';\nimport { createModule } from '../preloader';\nimport i18n from '@/localization/i18n';\nimport { Language } from '@/interfaces/language';\n\nexport default class LanguageStore extends createModule('language') {\n get language(): Language {\n return languageUtils.getLanguageId();\n }\n\n get languages(): Language[] {\n return languageUtils.languages;\n }\n\n @action\n async updateLanguage(language: Language) {\n if (i18n.locale !== language.iso6391) {\n i18n.locale = language.iso6391;\n }\n localStorage.setItem('languageId', JSON.stringify(language));\n }\n}","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { LimitedAccess } from '@/interfaces/limited-access';\nimport { ResponseCodes } from '@/util/enums/response-codes';\n\nconst api = '/limited-access';\n\nexport class LimitedAccessService extends AbstractService { \n session: number = 24 * 14;\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public async getLimitedAccess() {\n if (this.getToken() == null || this.getToken().length == 0) {\n return null;\n }\n\n const value = await this.get(api)\n if (ResponseCodes.is2xx(value.status)) {\n return value.data;\n }\n\n return null;\n }\n\n public async getLimitedAccessToken(): Promise {\n return this.getToken();\n }\n\n public async create({name, mail} : {name: string, mail: string}) {\n const value = await this.post(api + '/create', { name, mail })\n\n if (ResponseCodes.is2xx(value.status)) {\n return ResponseCodes.SUCCESS; // A limited access has been created and mail sent\n }\n\n if (value.status == ResponseCodes.FORBIDDEN) { \n return ResponseCodes.FORBIDDEN; // IP Blacklisted\n }\n\n if (value.status == ResponseCodes.CONFLICT) {\n return ResponseCodes.CONFLICT; // Mail already exists\n }\n\n return ResponseCodes.INTERNAL_SERVER_ERROR; // I dont know\n }\n\n public async resend(mail: string) {\n const value = await this.post(api + '/resend', { mail })\n\n if (value.status == ResponseCodes.SUCCESS) {\n return ResponseCodes.SUCCESS // Missing email\n }\n\n if (value.status == ResponseCodes.BAD_REQUEST) {\n return ResponseCodes.BAD_REQUEST // Missing email\n }\n\n if (value.status == ResponseCodes.NOT_FOUND) {\n return ResponseCodes.NOT_FOUND // Email not in database\n }\n\n return ResponseCodes.INTERNAL_SERVER_ERROR; // I dont know\n }\n\n public async auth({mail, code}: {mail: string, code: string}) {\n const value = await this.post(api + '/auth', {mail, code})\n\n if (value.status == ResponseCodes.BAD_REQUEST) {\n return ResponseCodes.BAD_REQUEST // Missing body\n }\n\n if (value.status == ResponseCodes.NOT_FOUND) {\n return ResponseCodes.NOT_FOUND // Could not find email in db\n }\n\n if (value.status == ResponseCodes.UNAUTHORIZED) {\n return ResponseCodes.UNAUTHORIZED // Code does not match db\n }\n\n if (ResponseCodes.is2xx(value.status) && value.data != null) {\n this.setToken(value.data, this.session);\n return ResponseCodes.SUCCESS;\n }\n \n return ResponseCodes.INTERNAL_SERVER_ERROR // I dont know\n }\n}\n\nexport const limitedAccessService = new LimitedAccessService(apiConfig);","import { action } from 'vuex-class-component';\nimport { cookieUtils } from '@/util/cookie-utils';\nimport { createModule } from '../preloader';\nimport { LimitedAccess } from '@/interfaces/limited-access';\nimport { limitedAccessService } from '@/services/restapi/limited-access-service';\nimport { ResponseCodes } from '@/util/enums/response-codes';\n\nexport default class LimitedAccessStore extends createModule('limited-access') {\n private limitedAccessData = null as LimitedAccess\n private limitedAccessPromise = null as Promise\n private loadinglimitedAccessData: boolean = null;\n\n get limitedAccess(): LimitedAccess {\n return this.limitedAccessData;\n }\n\n get token(): Promise {\n return limitedAccessService.getLimitedAccessToken();\n }\n\n get loadinglimitedAccess(): boolean {\n return this.loadinglimitedAccessData;\n }\n\n @action\n async fetchLimitedAccess(): Promise {\n if (this.limitedAccessData != null) {\n return this.limitedAccessData\n }\n\n if (this.limitedAccessPromise != null) {\n return this.limitedAccessPromise\n }\n\n this.loadinglimitedAccessData = true;\n this.limitedAccessPromise = limitedAccessService.getLimitedAccess();\n this.limitedAccessData = await this.limitedAccessPromise;\n this.loadinglimitedAccessData = false;\n\n return this.limitedAccessPromise;\n }\n\n @action\n async reFetchLimitedAccess(): Promise {\n this.limitedAccessPromise = limitedAccessService.getLimitedAccess();\n this.limitedAccessData = await this.limitedAccessPromise;\n return this.limitedAccessPromise;\n }\n\n @action\n async create(info: { name: string, mail: string }) {\n return await limitedAccessService.create(info);\n }\n\n @action\n async resend(mail: string) {\n return await limitedAccessService.resend(mail);\n }\n\n @action\n async auth(info: { mail: string, code: string }) {\n const status = await limitedAccessService.auth(info);\n if (status != ResponseCodes.SUCCESS) {\n return status;\n }\n\n this.fetchLimitedAccess();\n return status;\n }\n\n @action\n async clear() {\n cookieUtils.deleteCookie('session');\n this.limitedAccessData = null;\n this.limitedAccessPromise = null;\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { ArticleLink } from '@/interfaces/article-link';\nimport { AxiosRequestConfig } from 'axios';\nimport { List } from '@/interfaces/list';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\n\nconst api = '/lists';\n\nexport class ListService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getLists = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public findRelevantArticles = async (limit: number): Promise => {\n const response = await this.get(api + '/articles', { params: { limit: limit } });\n return this.getResponse(response);\n };\n\n public postList = async (list: List): Promise => {\n const response = await this.post(api, list);\n return this.getResponse(response);\n };\n\n public putList = async (list: List): Promise => {\n const response = await this.put(api, list);\n return this.getResponse(response);\n };\n\n public deleteList = async (id: number): Promise => {\n const response = await this.delete(api + '/' + id);\n return this.getResponse(response);\n };\n\n public getListItems = async (id: number): Promise<(Project | Procurement)[]> => {\n const response = await this.get<(Project | Procurement)[]>(`${api}/items/${id}`);\n return this.getResponse(response);\n };\n\n public setListSeen = async (id: number): Promise => {\n const response = await this.put(`${api}/setSeen/${id}`);\n return this.getResponse(response);\n }\n}\n\nexport const listService = new ListService(apiConfig);\n","export enum ModalIds {\n AGENT_DELETE_MODAL = 'agent-delete-modal',\n AGENT_REPLACE_MODAL = 'agent-replace-modal',\n AGENT_SETTINGS_MODAL = 'agent-settings-modal',\n BLACKLIST_REMOVE_MODAL = 'blacklist-remove-modal',\n BLACKLIST_SETTINGS_MODAL = 'blacklist-settings-modal',\n COMPANY_AGENT_DELETE_MODAL = 'company-agent-delete-modal',\n COMPANY_AGENT_REPLACE_MODAL = 'company-agent-replace-modal',\n COMPANY_AGENT_SETTINGS_MODAL = 'company-agent-settings-modal',\n COMPANY_LIST_ADD_MODAL = 'company-list-add-modal',\n COMPANY_LIST_REMOVE_MODAL = 'company-list-remove-modal',\n COMPANY_LIST_SETTINGS_MODAL = 'company-list-settings-modal',\n LIST_ADD_MODAL = 'list-add-modal',\n LIST_REMOVE_MODAL = 'list-remove-modal',\n LIST_SETTINGS_MODAL = 'list-settings-modal',\n // NOTE_DELETE_MODAL = 'note-delete-modal',\n // NOTE_EDIT_MODAL = 'note-edit-modal',\n PAYWALL_MODAL = 'paywall-modal',\n TIP_MODAL = 'tip-modal',\n}\n","import { action } from 'vuex-class-component';\nimport { createModule } from '../preloader';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { listService } from '@/services/restapi/list-service';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\nexport default class ListStore extends createModule('list') {\n private listsData = null as List[];\n private listsPromise = null as Promise;\n\n get lists(): List[] {\n return this.listsData;\n }\n\n get isInList(): (searchItem: Project | Procurement | ProcurementReference) => boolean {\n return (dataObject) => {\n for (const list of this.lists ?? []) {\n if ((dataObject as Procurement).procurementPhase !== undefined) {\n if (\n list.procurements &&\n list.procurements.some((procurementId) => procurementId === dataObject.id)\n ) {\n return true;\n }\n } else {\n if (list.projects && list.projects.some((projectId) => projectId === dataObject.id)) {\n return true;\n }\n }\n }\n return false;\n };\n }\n\n get isIdInList(): (id: number, isProject: boolean) => boolean {\n return (id, isProject) => {\n for (const list of this.lists ?? []) {\n if (isProject) {\n return list.projects ? list.projects.some(projectId => projectId === id) : false;\n } else {\n return list.procurements ? list.procurements.some(procurementId => procurementId === id) : false;\n }\n }\n };\n }\n\n get listById(): (id: number) => List {\n return (id) => {\n if (this.lists === null) {\n return null;\n }\n for (const list of this.lists) {\n if (list.id == id) {\n return list;\n }\n }\n return null;\n };\n }\n\n get listsWithObject(): (dataObject: Procurement | Project | ProcurementReference) => List[] {\n return (dataObject) => {\n return this.lists.filter((list) => {\n if (\n globalFunctions.isOfInterfaceType(\n dataObject,\n 'procurementPhase',\n )\n ) {\n return (\n list.procurements && list.procurements.some((procurementId) => procurementId === dataObject.id)\n );\n } else {\n return list.projects && list.projects.some((projecId) => projecId === dataObject.id);\n }\n });\n };\n }\n\n get listsLoaded(): boolean {\n return this.lists != null;\n }\n\n @action\n async putList(list: List): Promise {\n const newList = await listService.putList(list);\n\n this.listsPromise = listService.getLists();\n this.listsData = await this.listsPromise;\n\n return newList;\n }\n\n @action\n async refetchLists() {\n this.listsPromise = listService.getLists();\n this.listsData = await this.listsPromise;\n\n return this.listsData;\n }\n\n @action\n async fetchLists() {\n if (this.listsData != null) {\n return this.listsData;\n }\n\n if (this.listsPromise != null) {\n return await this.listsPromise;\n }\n\n this.listsPromise = listService.getLists();\n this.listsData = await this.listsPromise;\n\n return this.listsData;\n }\n}\n","import { action } from 'vuex-class-component';\nimport { Agent } from '@/interfaces/agent';\nimport { Company } from '@/interfaces/company';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { createModule } from '../preloader';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { Tip } from '@/interfaces/tip';\n\nexport default class ModalStore extends createModule('modal') {\n private agentData = null as Agent;\n private blacklistObjectData = null as Procurement | Project | ProcurementReference;\n private companyAgentData = null as CompanyAgent;\n private companyListData = null as CompanyList;\n private companyData = null as Company;\n private listData = null as List;\n private listObjectData = null as Procurement | Project | ProcurementReference;\n private tipData = null as Tip;\n // private noteData = null as Note;\n\n get agent(): Agent {\n return this.agentData;\n }\n\n get blacklistObject(): Procurement | Project | ProcurementReference {\n return this.blacklistObjectData;\n }\n\n get companyAgent(): CompanyAgent {\n return this.companyAgentData;\n }\n\n get companyList(): CompanyList {\n return this.companyListData;\n }\n\n get company(): Company {\n return this.companyData;\n }\n\n get list(): List {\n return this.listData;\n }\n\n get listObject(): Procurement | Project | ProcurementReference {\n return this.listObjectData;\n }\n\n get tip(): Tip {\n return this.tipData;\n }\n\n @action\n async openAgentDeleteModal(agent: Agent) {\n if (agent != null) {\n this.agentData = agent;\n await this.openModal(ModalIds.AGENT_DELETE_MODAL);\n }\n }\n\n @action\n async openAgentReplaceModal(agent: Agent) {\n if (agent != null) {\n this.agentData = agent;\n await this.openModal(ModalIds.AGENT_REPLACE_MODAL);\n }\n }\n\n @action\n async openAgentSettingsModal(agent: Agent) {\n if (agent != null) {\n this.agentData = agent;\n await this.openModal(ModalIds.AGENT_SETTINGS_MODAL);\n }\n }\n\n @action\n async openCompanyAgentDeleteModal(companyAgent: CompanyAgent) {\n if (companyAgent != null) {\n this.companyAgentData = companyAgent;\n await this.openModal(ModalIds.COMPANY_AGENT_DELETE_MODAL);\n }\n }\n\n @action\n async openCompanyAgentReplaceModal(companyAgent: CompanyAgent) {\n if (companyAgent != null) {\n this.companyAgentData = companyAgent;\n await this.openModal(ModalIds.COMPANY_AGENT_REPLACE_MODAL);\n }\n }\n\n @action\n async openCompanyAgentSettingsModal(companyAgent: CompanyAgent) {\n if (companyAgent != null) {\n this.companyAgentData = companyAgent;\n await this.openModal(ModalIds.COMPANY_AGENT_SETTINGS_MODAL);\n }\n }\n\n @action\n async openBlacklistSettingsModal(blacklistObject: Procurement | Project | ProcurementReference) {\n if (blacklistObject != null) {\n this.blacklistObjectData = blacklistObject;\n await this.openModal(ModalIds.BLACKLIST_SETTINGS_MODAL);\n }\n }\n\n @action\n async openBlacklistRemoveModal(blacklistObject: Procurement | Project | ProcurementReference) {\n if (blacklistObject != null) {\n this.blacklistObjectData = blacklistObject;\n await this.openModal(ModalIds.BLACKLIST_REMOVE_MODAL);\n }\n }\n\n @action\n async openCompanyListAddModal(company: Company) {\n if (company != null) {\n this.companyData = company;\n await this.openModal(ModalIds.COMPANY_LIST_ADD_MODAL);\n }\n }\n\n @action\n async openCompanyListRemoveModal(company: Company) {\n if (company != null) {\n this.companyData = company;\n await this.openModal(ModalIds.COMPANY_LIST_REMOVE_MODAL);\n }\n }\n\n @action\n async openCompayListSettingsModal(payload: {\n companyList: CompanyList;\n company?: Company;\n }) {\n if (payload != null && (payload.companyList != null || payload.company != null)) {\n this.companyListData = payload.companyList\n this.companyData = payload.company;\n await this.openModal(ModalIds.COMPANY_LIST_SETTINGS_MODAL);\n }\n }\n\n @action\n async openListAddModal(listObject: Procurement | Project | ProcurementReference) {\n if (listObject != null) {\n this.listObjectData = listObject;\n await this.openModal(ModalIds.LIST_ADD_MODAL);\n }\n }\n\n @action\n async openListRemoveModal(listObject: Procurement | Project | ProcurementReference) {\n if (listObject != null) {\n this.listObjectData = listObject;\n await this.openModal(ModalIds.LIST_REMOVE_MODAL);\n }\n }\n\n @action\n async openListSettingsModal(payload: {\n list: List;\n listObject?: Procurement | Project | ProcurementReference;\n }) {\n if (payload != null && (payload.list != null || payload.listObject != null)) {\n this.listData = payload.list;\n this.listObjectData = payload.listObject;\n await this.openModal(ModalIds.LIST_SETTINGS_MODAL);\n }\n }\n\n @action\n async openTipModal(tip: Tip) {\n if (tip != null) {\n this.tipData = tip;\n await this.openModal(ModalIds.TIP_MODAL);\n }\n }\n\n // @action\n // async openNoteDeleteModal(note: Note) {\n // if (note != null) {\n // this.noteData = note;\n // await this.openModal(ModalIds.NOTE_DELETE_MODAL);\n // }\n // }\n\n // @action\n // async openNoteEditModal(note: Note) {\n // if (note != null) {\n // this.noteData = note;\n // await this.openModal(ModalIds.NOTE_EDIT_MODAL);\n // }\n // }\n\n @action\n async openPaywallModal() {\n await this.openModal(ModalIds.PAYWALL_MODAL);\n }\n\n @action\n private async openModal(modalId: string) {\n const element = document.getElementById(modalId);\n if (element) {\n const modal = new Modal(element);\n modal.show();\n }\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\n\nconst api = '/procurement-phases';\n\nexport class ProcurementPhaseService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProcurementPhases = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getProcurementPhaseById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n}\n\nexport const procurementPhaseService = new ProcurementPhaseService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\nimport { procurementPhaseService } from '@/services/restapi/procurement-phase-service';\n\nexport default class ProcurementPhaseStore extends createModule('procurementPhase') {\n private procurementPhasesData = null as ProcurementPhase[];\n private procurementPhasesPromise = null as Promise;\n\n get procurementPhases() {\n return this.procurementPhasesData;\n }\n\n @action\n async setProcurementPhases(procurementPhases: ProcurementPhase[]) {\n this.procurementPhasesData = procurementPhases;\n }\n\n @action\n async fetchProcurementPhases() {\n return (\n this.procurementPhasesData ??\n preserve(\n this.procurementPhasesPromise,\n procurementPhaseService.getProcurementPhases,\n this.setProcurementPhases,\n )\n );\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ProcurementType } from '@/interfaces/criterias/procurement-type';\n\nconst api = '/procurement-types';\n\nexport class ProcurementTypeService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProcurementTypes = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getProcurementTypeById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n}\n\nexport const procurementTypeService = new ProcurementTypeService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { ProcurementType } from '@/interfaces/criterias/procurement-type';\nimport { procurementTypeService } from '@/services/restapi/procurement-type-service';\n\nexport default class ProcurementTypeStore extends createModule('procurementType') {\n private procurementTypesData = null as ProcurementType[];\n private procurementTypesPromise = null as Promise;\n\n get procurementTypes() {\n return this.procurementTypesData;\n }\n\n @action\n async setProcurementPhases(procurementTypes: ProcurementType[]) {\n this.procurementTypesData = procurementTypes;\n }\n\n @action\n async fetchProcurementTypes() {\n return (\n this.procurementTypesData ??\n preserve(\n this.procurementTypesPromise,\n procurementTypeService.getProcurementTypes,\n this.setProcurementPhases,\n )\n );\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Product } from '@/interfaces/product';\nimport { ProductFeature } from '@/interfaces/product-feature';\n\nconst api = '/products';\n\nexport class ProductService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProducts = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getFeatures = async (): Promise => {\n const response = await this.get(`${api}/features`);\n return this.getResponse(response);\n };\n}\n\nexport const productService = new ProductService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { Product } from '@/interfaces/product';\nimport { ProductFeature } from '@/interfaces/product-feature';\nimport { productService } from '@/services/restapi/product-service';\n\nexport default class ProductStore extends createModule('product') {\n private productsData = undefined as Product[];\n private productsPromise = undefined as Promise;\n\n private productFeaturesData = undefined as ProductFeature[];\n private productFeaturesPromise = undefined as Promise;\n\n get products(): Product[] {\n return this.productsData ?? [];\n }\n\n get productFeatures(): ProductFeature[] {\n return this.productFeaturesData?.sort((f1, f2) => (f1.index < f2.index ? -1 : 1));\n }\n\n @action\n async setProducts(products: Product[]) {\n this.productsData = products;\n }\n\n @action\n async setProductFeatures(productFeatures: ProductFeature[]) {\n this.productFeaturesData = productFeatures;\n }\n\n @action\n async fetchProducts(): Promise {\n if (this.productsData != null) {\n return this.productsData;\n }\n\n if (this.productsPromise == null) {\n this.productsPromise = productService.getProducts();\n this.productsPromise.then((products) => {\n this.productsData = products;\n });\n }\n\n return this.productsPromise;\n }\n\n @action\n async fetchProductsFeatures(): Promise {\n return (\n this.productFeaturesData ??\n preserve(this.productFeaturesPromise, productService.getFeatures, this.setProductFeatures)\n );\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\n\nconst api = '/project-phases';\n\nexport class ProjectPhaseService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProjectPhases = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getProjectPhaseById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n}\n\nexport const projectPhaseService = new ProjectPhaseService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\nimport { projectPhaseService } from '@/services/restapi/project-phase-service';\n\nexport default class ProjectPhaseStore extends createModule('projectPhase') {\n private projectPhasesData = null as ProjectPhase[];\n private projectPhasesPromise = null as Promise;\n\n get projectPhases(): ProjectPhase[] {\n return this.projectPhasesData;\n }\n\n @action\n async setProjectPhases(projectPhases: ProjectPhase[]) {\n this.projectPhasesData = projectPhases;\n }\n\n @action\n async fetchProjectPhases() {\n return (\n this.projectPhasesData ??\n preserve(\n this.projectPhasesPromise,\n projectPhaseService.getProjectPhases,\n this.setProjectPhases,\n )\n );\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Role } from '@/interfaces/criterias/role';\n\nconst api = '/roles';\n\nexport class ProjectRoleService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getRoles = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n\n public getRoleById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n}\n\nexport const projectRoleService = new ProjectRoleService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { action } from 'vuex-class-component';\nimport { projectRoleService } from '@/services/restapi/role-service';\nimport { Role } from '@/interfaces/criterias/role';\n\nexport default class RoleStore extends createModule('role') {\n private rolesData = null as Role[];\n private rolesPromise = null as Promise;\n\n get roles(): Role[] {\n return this.rolesData;\n }\n\n @action\n async setRoles(roles: Role[]) {\n this.rolesData = roles;\n }\n\n @action\n async fetchRoles() {\n return (\n this.rolesData ?? preserve(this.rolesPromise, projectRoleService.getRoles, this.setRoles)\n );\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Company } from '@/interfaces/company';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { File } from '@/interfaces/file';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\n\nconst api = '/companies';\n\nexport class CompanyService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getCompanyById = async (id: number): Promise => {\n const response = await this.get(`${api}/byId/${id}`);\n return this.getResponse(response);\n };\n\n public getCompanyLogosByDomain = async (): Promise => {\n const response = await this.get(`${api}/logo/byDomain`);\n return this.getResponse(response);\n };\n\n public getItemsForCompany = async (id: number, onlyProjects: boolean, limit: number): Promise> => {\n let response;\n let config = {\n params: {},\n };\n if (onlyProjects) {\n config = {\n params: {\n onlyProjects: onlyProjects,\n },\n };\n }\n if (limit) {\n config.params = {\n ...config.params,\n limit: limit,\n }\n }\n if (config.params) {\n response = await this.get>(`${api}/items/${id}`, config);\n } else {\n response = await this.get>(`${api}/items/${id}`);\n }\n return this.getResponse(response);\n };\n\n public searchCompanies = async (\n companyAgent: CompanyAgent,\n index: number,\n limit: number,\n orderBy: string,\n ): Promise<{ count: number, companies: Company[] }> => {\n const response = await this.post<{ count: number, companies: Company[] }>(\n `${api}/search`, companyAgent, { params: { index, limit, orderBy }},\n );\n return this.getResponse(response);\n };\n\n public searchCompanyCount = async (companyAgent: CompanyAgent, maxDaysOld?: number): Promise => {\n let response;\n if (maxDaysOld != null) {\n const config = {\n params: { maxDaysOld: maxDaysOld },\n };\n response = await this.post(`${api}/search/count`, companyAgent, config);\n } else {\n response = await this.post(`${api}/search/count`, companyAgent);\n }\n return this.getResponse(response);\n };\n}\n\nexport const companyService = new CompanyService(apiConfig);\n","export enum MailTime {\n Daily = 'daily',\n Weekly = 'weekly',\n Always = 'always',\n Never = 'never',\n}\n","import { action } from 'vuex-class-component';\nimport { Company } from '@/interfaces/company';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { companyService } from '@/services/restapi/company-service';\nimport { createModule } from '../preloader';\nimport { MailTime } from '@/interfaces/enums/mail-time';\nimport { OrderByOptions } from '@/util/enums/order-by-options';\nimport { vmx } from '..';\n\nexport default class SearchCompanyStore extends createModule('searchCompany') {\n\n private static LIMIT = 20;\n\n private companyAgentData: CompanyAgent = this.initialCompanyAgent();\n private debouncer = null as NodeJS.Timeout;\n private indexData = 0;\n private limitData = SearchCompanyStore.LIMIT;\n private countData = null as number;\n private resultData = null as Company[];\n private resultPromise = null as Promise<{ count: number, companies: Company[]}>;\n\n private orderByData = null as OrderByOptions;\n private orderByDescData = true as boolean;\n\n get companyAgent(): CompanyAgent {\n return this.companyAgentData;\n }\n\n get count(): number {\n return this.countData;\n }\n\n get index(): number {\n return this.index;\n }\n\n get initialCompanyAgent(): () => CompanyAgent {\n return () => ({\n freeSearch: '',\n countryIds: [],\n roles: [],\n mailTime: MailTime.Daily,\n paUserIds: [],\n })\n }\n\n get isSearchEmpty(): boolean {\n return !this.companyAgentData.freeSearch\n && this.companyAgentData.countryIds.length < 1\n && this.companyAgentData.roles.length < 1;\n }\n\n get limit(): number {\n return this.limitData;\n }\n\n get loading(): boolean {\n return this.resultPromise != null;\n }\n\n get orderBy() {\n return this.orderByData;\n }\n\n get orderByDesc() {\n if (this.orderByDescData == null) {\n this.orderByDescData = true;\n }\n return this.orderByDescData;\n }\n\n get results(): Company[] {\n return this.resultData;\n }\n\n @action\n async resetCompanyAgent() {\n this.setCompanyAgent(this.initialCompanyAgent());\n }\n\n @action\n private async search(newLimit: number) {\n if (!vmx.user.hasCompanyAccess) {\n return;\n }\n\n if (this.debouncer != null) {\n clearTimeout(this.debouncer);\n }\n\n if (this.isSearchEmpty) {\n this.resultData = null;\n this.countData = null;\n this.resultPromise = null;\n return;\n }\n\n this.debouncer = setTimeout(async () => {\n\n if (!newLimit || this.resultData == null) {\n this.resultData = [];\n }\n\n // Set index and limit only after timeout, to not mess with the page view.\n this.indexData = newLimit ? this.limitData : 0;\n this.limitData = newLimit ?? SearchCompanyStore.LIMIT;\n\n const orderByDesc = this.orderByDesc !== null && !this.orderByDesc ? 'ASC' : 'DESC';\n const orderByQuary =\n this.orderBy == null\n ? null\n : `${this.orderBy}${orderByDesc}`;\n\n this.resultPromise = companyService.searchCompanies(\n this.companyAgentData,\n this.indexData,\n this.limitData,\n orderByQuary,\n );\n\n const newData = await this.resultPromise;\n this.resultData = this.resultData.concat(newData.companies);\n if (!newLimit) {\n this.countData = newData.count;\n }\n this.resultPromise = null;\n this.debouncer = null;\n }, 500);\n }\n\n @action\n async setCompanyAgent(companyAgent: CompanyAgent) {\n this.companyAgentData = { ...companyAgent }\n await this.search(null);\n }\n\n @action\n async setOrderByDesc(orderByDesc: boolean) {\n if (this.orderByDescData != orderByDesc) {\n this.orderByDescData = orderByDesc;\n await this.search(null);\n }\n }\n\n @action\n async setOrderBy(orderBy: OrderByOptions) {\n if (this.orderByData !== orderBy) {\n this.orderByData = orderBy;\n await this.search(null);\n }\n }\n\n @action\n async updateCompanyAgent(companyAgent: Partial) {\n this.companyAgentData = {\n ...this.companyAgent,\n ...companyAgent,\n };\n await this.search(null);\n }\n\n @action\n async setLimit(newLimit: number) {\n await this.search(newLimit);\n }\n}","import { Agent } from '@/interfaces/agent';\nimport { User } from '@/interfaces/user';\n\ntype Storage = {\n agent: Agent;\n version: string;\n user: User;\n};\n\nexport function getStorage(key: K): V {\n try {\n const storeAgent = localStorage.getItem(key);\n if (storeAgent == null) {\n return null;\n }\n\n return JSON.parse(storeAgent);\n } catch (error) {\n console.error(error);\n return null;\n }\n}\n\nexport function setStorage(key: K, value: V): V {\n try {\n if (value == null) {\n return null;\n }\n localStorage.setItem(key, JSON.stringify(value));\n return value;\n } catch (error) {\n console.error(error);\n return null;\n }\n}\n\nexport function clearStorage(): void {\n localStorage.clear();\n}\n\nexport function removeStorage(key: K): void {\n if (key == null) {\n return;\n }\n localStorage.removeItem(key);\n}\n","import { getStorage, setStorage } from '../storage';\nimport { action } from 'vuex-class-component';\nimport { Agent } from '@/interfaces/agent';\nimport { agentService } from '@/services/restapi/agent-service';\nimport { createModule } from '../preloader';\nimport { Criterion } from '@/interfaces/criterias/criterion';\nimport { MailTime } from '@/interfaces/enums/mail-time';\nimport { SearchItemPage } from '@/interfaces/search-item-page';\nimport { vmx } from '..';\n\nexport default class SearchStore extends createModule('search') {\n public static readonly orderByOptions = {\n bestMatch: null as null,\n budget: 'BUDGET_' as const,\n updated: 'UPDATED_' as const,\n published: 'PUBLISHED_' as const,\n };\n\n private agentData = null as Agent;\n\n private searchItemPageData = null as SearchItemPage;\n private searchItemPagePromise = null as Promise;\n private searchItemNextPagePromise = null as Promise;\n\n private pageData = null as number;\n\n private orderByData = null as string;\n private orderByDescData = null as boolean;\n\n private debouncer = null as NodeJS.Timeout;\n\n get agent(): Agent {\n if (this.agentData != null) {\n return this.agentData;\n }\n\n const storeAgent = getStorage('agent');\n if (storeAgent != null && this.isAgent(storeAgent)) {\n this.agentData = storeAgent;\n setStorage('agent', this.agentData);\n return this.agentData;\n }\n\n this.agentData = this.getInitialAgent();\n setStorage('agent', this.agentData);\n return this.agentData;\n }\n\n private get isAgent(): (agent: Agent) => boolean {\n return (agent) => {\n const agentKeys = JSON.stringify(Object.keys(agent).sort());\n const initialAgentKeys = JSON.stringify(Object.keys(this.getInitialAgent()).sort());\n\n return agentKeys === initialAgentKeys;\n };\n }\n\n get searchItemPage() {\n return this.searchItemPageData;\n }\n\n get page() {\n if (this.pageData == null) {\n this.pageData = 1;\n }\n return this.pageData;\n }\n\n get limit() {\n return 20;\n }\n\n get orderBy() {\n if (this.orderByData === null) {\n this.orderByData = SearchStore.orderByOptions.bestMatch;\n }\n return this.orderByData;\n }\n\n get orderByDesc() {\n if (this.orderByDescData == null) {\n this.orderByDescData = true;\n }\n return this.orderByDescData;\n }\n\n get agentCriteriaOfType(): (typeId: number) => Criterion[] {\n return (typeId) => {\n if (this.agent.criteria) {\n return this.agent.criteria.filter(criterion => criterion.typeId === typeId)\n }\n return [];\n }\n }\n\n @action\n async setAgent(agent: Agent) {\n this.agentData = { ...agent };\n setStorage('agent', this.agent);\n await this.search();\n }\n\n @action\n async updateAgent(agent: Partial) {\n this.agentData = {\n ...this.agentData,\n ...agent,\n };\n setStorage('agent', this.agentData);\n await this.search();\n }\n\n @action\n async updateCriteriaForType(args: { criteria: Criterion[], typeId: number }) {\n this.agentData.criteria = this.agentData.criteria?.filter(criterion => criterion.typeId !== args.typeId) ?? [];\n this.agentData.criteria = this.agentData.criteria.concat(args.criteria);\n this.agent.id = null;\n setStorage('agent', this.agentData);\n await this.search();\n }\n\n @action\n async clearAgent() {\n this.setAgent(this.getInitialAgent());\n }\n\n @action\n async clearCriteria() {\n this.setAgent({\n ...this.getInitialAgent(),\n isProcurement: this.agent.isProcurement,\n });\n }\n\n @action\n async setPage(page: number) {\n if (this.pageData == page) {\n return;\n }\n\n if (this.pageData + 1 == page) {\n this.pageData = page;\n await this.loadNextPage();\n return;\n }\n\n this.pageData = page;\n this.search();\n }\n\n @action\n private async loadNextPage() {\n this.searchItemPageData = null;\n this.searchItemPageData = await this.searchItemNextPagePromise;\n\n this.searchItemPagePromise = this.searchItemNextPagePromise;\n\n const orderByDesc = this.orderByDesc ? 'DESC' : 'ASC';\n const orderByQuary =\n this.orderBy == null\n ? null\n : `${this.orderBy}${orderByDesc}`;\n\n this.searchItemNextPagePromise = agentService.search(\n this.agent,\n this.page * this.limit,\n this.limit,\n orderByQuary,\n );\n }\n\n @action\n async setOrderBy(orderBy: string) {\n let isCorrectForm = false;\n for (const value of Object.values(SearchStore.orderByOptions)) {\n if (value === null || value === orderBy) {\n isCorrectForm = true;\n break;\n }\n }\n if (!isCorrectForm) {\n return;\n }\n if (this.orderByData !== orderBy) {\n this.orderByData = orderBy;\n await this.search();\n }\n }\n\n @action\n async setOrderByDesc(orderByDesc: boolean) {\n this.orderByDescData = orderByDesc;\n await this.search();\n }\n\n @action\n async fetchSearchItemPage() {\n if (this.searchItemPageData) {\n return this.searchItemPageData;\n }\n\n if (this.searchItemPagePromise) {\n return this.searchItemPagePromise;\n }\n\n await this.search();\n\n return this.searchItemPageData;\n }\n\n @action\n async filterSearchItemResults() {\n const searchItemPageResults = (await this.searchItemPagePromise).results;\n\n const results = await vmx.blacklist.filterSearchItemList(searchItemPageResults);\n\n if (results.length == 0) {\n this.search();\n return;\n }\n\n this.searchItemPageData = {\n ...this.searchItemPageData,\n results,\n };\n }\n\n get getInitialAgent(): () => Agent {\n // const allowUnusedCriterionTypes = vmx.criterion.criterionTypes?.map(criterionType => criterionType.id) ?? [];\n return () => ({\n id: null,\n name: '',\n freeSearch: '',\n criteria: [],\n minBudget: null,\n maxBudget: null,\n minSizeBuilding: null,\n minSizeGround: null,\n minSizeMetres: null,\n maxSizeBuilding: null,\n maxSizeGround: null,\n maxSizeMetres: null,\n minNumberOfUnits: null,\n maxNumberOfUnits: null,\n projectStart: [],\n projectEnd: [],\n isPublic: null,\n allowUnusedCriterionTypes: [],\n procurementPhases: [],\n procurementTypes: [],\n projectPhases: [],\n allowUnspecifiedSize: true,\n allowUnspecifiedBudget: true,\n allowUnspecifiedStartAndEnd: true,\n mailTime: MailTime.Daily,\n isProcurement: vmx.user.user?.product?.basic ?? false,\n paUserIds: [],\n newResultsDaily: null,\n newResultsMonthly: null,\n });\n }\n\n get canResetAgent(): boolean {\n if (this.agent == null) {\n return false;\n }\n \n const checkOther = (agent: Agent) => {\n agent.isProcurement = !agent.isProcurement;\n return JSON.stringify(agent) !== JSON.stringify(this.getInitialAgent());\n }\n const agentCopy = {...this.agent};\n\n return JSON.stringify(agentCopy) !== JSON.stringify(this.getInitialAgent()) && checkOther(agentCopy);\n }\n\n @action\n async resetPage() {\n await this.search();\n }\n\n @action\n private async search() {\n const orderByDesc = this.orderByDesc ? 'DESC' : 'ASC';\n const orderByQuary =\n this.orderBy == null\n ? null\n : `${this.orderBy}${orderByDesc}`;\n\n this.searchItemPageData = {\n ...this.searchItemPageData,\n results: null,\n };\n\n if (this.debouncer != null) {\n clearTimeout(this.debouncer);\n }\n\n this.debouncer = setTimeout(async () => {\n this.searchItemPagePromise = agentService.search(\n this.agent,\n (this.page - 1) * this.limit,\n this.limit,\n orderByQuary,\n );\n\n await this.searchItemPagePromise;\n const networkDebounce = Promise.race([\n this.searchItemPagePromise.then(() => true),\n Promise.resolve(false),\n ]);\n\n if (networkDebounce) {\n this.searchItemPageData = await this.searchItemPagePromise;\n }\n\n this.searchItemNextPagePromise = agentService.search(\n this.agent,\n this.page * this.limit,\n this.limit,\n orderByQuary,\n );\n\n this.searchItemPageData = await this.searchItemPagePromise;\n }, 500);\n\n // await this.searchItemPagePromise;\n // this.searchItemPageData = await Promise.race([\n // this.searchItemPagePromise,\n // Promise.resolve(null),\n // ]);\n }\n}\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'),\"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')))])]),_c('div',{staticClass:\"row justify-content-center\",style:({ height: _vm.height })},[_c('iframe',{attrs:{\"src\":_vm.bookDemoUrl}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Domain } from '@/interfaces/domain';\n\n\n@Component({})\nexport default class FormBookDemo extends Vue {\n @Prop({ default: null }) title: string;\n @Prop({ default: '80vh' }) height: string;\n @Prop({ default: 'bookdemo' }) mode: 'bookdemo' | 'customer';\n\n get bookDemoUrl() {\n const domain: Domain = this.$vmx.domain.domain;\n const url = this.mode == 'bookdemo' ? domain.calendlyBookdemo : domain.calendlyCustomer;\n\n return url\n + '?embed_domain=app.projektagenten'\n +'&embed_type=PopupText'\n +'&hide_event_type_details=1'\n +'&hide_gdpr_banner=0'\n +'&primary_color=007FAD'\n }\n}\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=4766bb93&\"\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';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\n\n@Component({\n components: {\n FormBookDemo,\n },\n})\nexport default class AccessExpiredView extends Vue {\n @Ref() contactContainer: HTMLDivElement;\n\n scrollToContact() {\n if (this.contactContainer) {\n this.contactContainer.scrollIntoView();\n }\n }\n}\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=f8cf6282&\"\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',[(_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';\nimport { globalFunctions } from './global-functions';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport { User } from '@/interfaces/user';\n\nexport function userIsOnBlacklist(blacklist: Blacklist, user: User) {\n return blacklist.usersIds.some((userId) => userId == user.id);\n}\n\nexport function isItemInBlacklists(item: Procurement | Project, blacklits: Blacklist[]) {\n const isProcurement = globalFunctions.isProcurement(item);\n return blacklits.some(\n (blacklist) => item.id == ((isProcurement && blacklist.procurementId) || blacklist.projectId),\n );\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseModalContainer extends Vue {\n // Modal props\n @Prop({ required: true }) modalId: string;\n @Prop({ default: true}) centered: boolean;\n @Prop({ default: true }) fade: boolean;\n @Prop({ default: 'md'}) size: string;\n // Container props\n @Prop({ default: 4 }) paddingX: number;\n @Prop({ default: 4 }) paddingY: number;\n @Prop({ default: 2 }) gutter: number;\n @Prop({ default: true }) showHeader: boolean;\n @Prop({ default: 'trademark'}) headerBgColor: string;\n @Prop({ default: 'white'}) headerTextColor: string;\n @Prop({ default: 'white' }) bodyBgColor: string;\n @Prop({ default: 'dark' }) bodyTextColor: string;\n @Prop({ default: true }) bsBackdrop: 'static' | boolean;\n @Prop({ default: false }) scrollable: boolean;\n\n get modalClasses() {\n return [\n this.size != 'md' ? `modal-${this.size}` : '',\n this.centered ? 'modal-dialog-centered' : '',\n this.scrollable ? 'modal-dialog-scrollable' : '',\n ];\n }\n}\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.isProcurement ? _vm.$t('general.procurement') : _vm.$t('general.project'))+\" \")])]),_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';\n\nexport const dateUtils = {\n isDateStringAfter(date1: string, date2: string): boolean {\n if (!date1) {\n return false;\n }\n if (!date2) {\n return true;\n }\n return moment(date1).isAfter(moment(date2));\n },\n\n isFormattedDateStringAfter(date1: string, date2: string, format: string): boolean {\n if (!date1) {\n return false;\n }\n if (!date2) {\n return true;\n }\n return moment(date1, format).isAfter(moment(date2, format));\n },\n\n findNextDate(format: string, dates: string[]): string {\n const now = moment.now();\n let closest: Moment = null;\n for (const date of dates) {\n if (closest == null && date !== null) {\n closest = moment(date);\n continue;\n }\n if (date != null && moment(date).isAfter(now) && moment(date).isBefore(closest)) {\n closest = moment(date);\n }\n }\n return closest ? closest.locale('da').format(format) : null;\n },\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { globalFunctions } from '@/util/global-functions';\nimport { ICalCalendar } from 'ical-generator';\nimport moment from 'moment';\n\n@Component\nexport default class DropdownMailExport extends Vue {\n @Prop({ required: true }) downloadName: string;\n @Prop({ required: true }) mailHeader: string;\n @Prop() mailBody: string;\n @Prop() fromDate: string;\n @Prop() toDate: string;\n\n get isBasicProduct(): boolean {\n return !this.$vmx.user.hasProduct;\n }\n\n get from(): moment.Moment {\n return (this.fromDate && moment(this.fromDate) || moment(this.toDate)).locale('da');\n }\n\n get to(): moment.Moment {\n return (this.toDate && moment(this.toDate) || moment(this.fromDate)).locale('da');\n }\n\n get shortMailDetails(): string {\n return `Projektagenten url: ${window.location.href}`\n }\n\n get mailDetails(): string {\n return [\n this.mailBody,\n '\\n',\n `Projektagenten url: ${window.location.href}`,\n ].join('\\r\\n')\n }\n\n get paywallModalId() {\n return globalFunctions.getPaywallModalId();\n }\n\n private getOutlookCalenderEventLink(): string {\n // TODO changed the word \"deeplink\" to \"action\", between \"0\" and \"compose\", due to MS error. They might need changing back again.\n return (!this.fromDate && !this.toDate)\n ? null\n : 'https://outlook.office.com/calendar/0/action/compose?'.concat(\n [\n 'path=/calendar/action/compose',\n 'rru=addevent',\n `startdt=${this.from.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\n `enddt=${this.to.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\n `subject=${encodeURIComponent(this.mailHeader)}`,\n `body=${encodeURIComponent(this.shortMailDetails)}`,\n ].join('&'),\n )\n }\n\n private getOfficeCalenderEventLink(): string {\n // TODO changed the word \"deeplink\" to \"action\", between \"0\" and \"compose\", due to MS error. They might need changing back again.\n return (!this.fromDate && !this.toDate)\n ? null\n : 'https://outlook.office.com/calendar/0/action/compose?'.concat(\n [\n 'path=/calendar/action/compose',\n 'rru=addevent',\n `startdt=${this.from.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\n `enddt=${this.to.format('YYYY-MM-DD[T]HH[:]mm[:]SS[Z]')}`,\n `subject=${encodeURIComponent(this.mailHeader)}`,\n `body=${this.shortMailDetails}`,\n ].join('&'),\n )\n }\n\n private getGoogleCalendarEventLink(): string {\n return (!this.fromDate && !this.toDate)\n ? null\n : 'https://www.google.com/calendar/render?'.concat(\n [\n 'action=TEMPLATE',\n `text=${encodeURIComponent(this.mailHeader)}`,\n `dates=${this.from.format('YYYYMMDD[T]HHmm')}/${this.to.format(('YYYYMMDD[T]HHmm'))}`,\n `&details=${encodeURIComponent(this.mailDetails)}`,\n ].join('&'),\n )\n }\n\n private getICS(): string {\n if (!this.fromDate && !this.toDate) return null;\n const cal = new ICalCalendar();\n\n cal.createEvent({\n start: this.from,\n end: this.to,\n summary: this.mailHeader,\n description: this.mailDetails,\n });\n\n return cal.toURL();\n }\n\n}\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';\n\nexport class FormatUtils {\n constructor() {}\n\n public formatDate = (date: string | Date, format: string): string => {\n if (date) {\n return moment(date).locale('process.env.VUE_APP_I18N_LOCALE').format(format);\n }\n return 'N/A';\n };\n\n public formatTextToHtml = (text: string): string => {\n if (text && !text.includes('$1

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

', '');\n }\n return text;\n };\n}\n\ntype DateType = {\n day: number;\n month: number;\n year: number;\n hour: number;\n minute: number;\n};\n\nexport const formatUtils = new FormatUtils();\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\nimport DropdownMailExport from '@/components/dropdowns/dropdown-mail-export.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { Modal } from 'bootstrap';\nimport { Note } from '@/interfaces/note';\n\n@Component({\n components: {\n DropdownMailExport,\n },\n})\nexport default class NoteList extends Vue {\n @VModel({ required: true }) selectedNote: Note;\n @Prop({ required: true }) notes: Note[];\n @Prop({ required: true }) id: string;\n @Prop() limit: number;\n @Prop({ default: true }) canShowAll: boolean;\n @Prop({ default: true }) canCreate: boolean;\n collapsed = true;\n\n mounted() {\n if (!this.notes) {\n this.notes = [];\n }\n }\n\n get editModalId() {\n return `edit-${this.id}`;\n }\n\n get deleteModalId() {\n return `delete-${this.id}`;\n }\n\n get limitedNotes(): Note[] {\n if (this.collapsed) {\n if (this.hasMore) {\n return this.notes.slice(0, this.limit);\n }\n return this.notes;\n } else {\n return this.notes;\n }\n }\n\n get hasMore() {\n return this.limit && this.limit < this.notes.length;\n }\n\n get excessNotes(): number {\n return this.limit < this.notes.length ? this.notes.length - this.limit : 0;\n }\n\n get now(): string {\n return formatUtils.formatDate(new Date(), 'YYYY-MM-DD HH:mm')\n }\n\n private mailHeader(note: Note): string {\n return note.title ? note.title : `Note: ${note.createdBy}`;\n }\n\n private downloadName(note: Note) {\n return `${note.title ? note.title.replaceAll(' ', '_') : 'note_file'}.ics`\n }\n\n createNote() {\n if (this.$vmx.user.hasProduct) {\n this.selectedNote = null;\n this.openModal(this.editModalId);\n } else {\n this.$vmx.modal.openPaywallModal();\n }\n }\n\n editNote(id: number) {\n this.selectedNote = this.notes.find(note => note.id ==id);\n this.openModal(this.editModalId);\n }\n\n openDeleteModal(id: number) {\n this.selectedNote = this.notes.find(note => note.id ==id);\n this.openModal(this.deleteModalId);\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\nimport { Note } from '@/interfaces/note';\nimport NoteList from '@/components/general-components/note-list.vue';\n\n\n@Component({\n components: {\n NoteList,\n },\n})\nexport default class DropdownNotes extends Vue {\n @VModel({ required: true }) selectedNote: Note;\n @Prop({ required: true }) notes: Note[];\n @Prop({ required: true }) id: string;\n @Prop({ default: 'sm' }) size: string;\n @Prop({ default: 'sm' }) dropdownSize: string;\n @Prop({ default: 'xs' }) iconSize: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false, type: Boolean }) noFlip: boolean;\n @Prop() label: string;\n @Prop({ default: false }) rightAlign: boolean;\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { RawLocation } from 'vue-router';\n\n@Component\nexport default class IconBar extends Vue {\n @Prop({ required: true }) dataObject: Project | Procurement | ProcurementReference;\n @Prop({ default: 'lg' }) size: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) isDropdown: boolean;\n @Prop({ default: false }) fixedHeight: boolean;\n linkCopied = false;\n\n get hasProduct(): boolean {\n return this.$vmx.user.hasProduct;\n }\n\n get containerClasses() {\n return [\n `bg-${this.variant}`,\n this.fixedHeight ? 'fixed-height' : '',\n ];\n }\n\n get firstListWithObject(): List {\n if (this.isOnList) {\n return this.$vmx.list.listsWithObject(this.dataObject)[0];\n }\n return null;\n }\n\n get exportlink(): RawLocation {\n const isProcurement = globalFunctions.isProcurement(this.dataObject as Project | Procurement);\n return {\n name: isProcurement ? 'PrintProcurement' : 'PrintProject',\n params: {\n id: this.dataObject.id.toString(),\n },\n };\n }\n\n get isOnList(): boolean {\n return this.$vmx.list.isInList(this.dataObject);\n }\n\n get isOnUserBlacklist(): boolean {\n return this.$vmx.blacklist.isOnUserBlacklist(this.dataObject as Project | Procurement);\n }\n\n get listButtonTooltip(): string {\n return this.$t(this.isOnList ? 'components.iconBar.list.removeTooltip' : 'components.iconBar.list.addTooltip') as string;\n }\n\n // --- OTHER ---------------------------------------------------------------\n emitUpdate() {\n this.$emit('listUpdated');\n }\n\n mailToString() {\n const email = 'sample@gmail.com';\n const subject = encodeURI('Projektagenten - ' + this.dataObject.name);\n const body = encodeURI(`Hej!\\n\\nTag lige et kig på noget jeg har fundet på Projektagenten: ${this.getUrl()}\\n\\n`)\n\n window.open(`mailto:${email}?subject=${subject}&body=${body}`);\n }\n\n getUrl() {\n let baseUrl = process.env.VUE_APP_BASE_URL;\n\n if (!(process.env.NODE_ENV === 'development')) {\n baseUrl += this.$vmx.domain.domain.sld + '.' + this.$vmx.domain.domain.tld;\n }\n\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\n return baseUrl + '/procurement/' + this.dataObject.id;\n } else {\n return baseUrl + '/project/' + this.dataObject.id;\n }\n }\n\n copyToClipboard() {\n navigator.clipboard.writeText(this.getUrl());\n this.linkCopied = true;\n globalFunctions.timeout(4000).then(() => this.linkCopied = false);\n }\n\n openBlacklistSettingsModal() {\n if (this.hasProduct) {\n this.$vmx.modal.openBlacklistSettingsModal(this.dataObject);\n } else {\n this.openPaywallModal();\n }\n }\n\n openBlacklistRemoveModal() {\n if (this.hasProduct) {\n this.$vmx.modal.openBlacklistRemoveModal(this.dataObject);\n } else {\n this.openPaywallModal();\n }\n }\n\n openListAddModal() {\n if (this.hasProduct) {\n this.$vmx.modal.openListAddModal(this.dataObject);\n } else {\n this.openPaywallModal();\n }\n }\n\n openPaywallModal() {\n this.$vmx.modal.openPaywallModal();\n }\n}\n","export enum LanguageIds {\n danish = 2,\n}\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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Note } from '@/interfaces/note';\n\nconst api = '/notes';\n\nexport class NoteService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getNotesForProject = async (id: number): Promise => {\n const response = await this.get(api + '/byProject/' + id);\n return this.getResponse(response);\n };\n\n public getNotesForProcurement = async (id: number): Promise => {\n const response = await this.get(api + '/byProcurement/' + id);\n return this.getResponse(response);\n };\n\n public createNote = async (note: Note): Promise => {\n const response = await this.post(api, note);\n return this.getResponse(response);\n };\n\n public updateNote = async (note: Note): Promise => {\n const response = await this.put(api, note);\n return this.getResponse(response);\n };\n\n public deleteNote = async (id: number): Promise => {\n const response = await this.delete(`${api}/${id}`);\n return this.getResponse(response);\n };\n}\n\nexport const noteService = new NoteService(apiConfig);\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Modal } from 'bootstrap';\nimport { Note } from '@/interfaces/note';\nimport { noteService } from '@/services/restapi/note-service';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalNoteDelete extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ required: true }) note: Note;\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.setEventListeners();\n }\n\n activated() {\n this.setEventListeners();\n }\n\n setEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n async submit() {\n if (this.note.id) {\n this.submitting = true;\n try {\n await noteService.deleteNote(this.note.id);\n this.$emit('noteDeleted', this.note.id);\n this.error = false;\n this.submitting = false;\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n}\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 }","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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class AbstractForm extends Vue {\n @Prop({ default: false }) needsValidation: boolean;\n @Prop({ default: 5 }) gutterX: number;\n @Prop({ default: 3 }) gutterY: number;\n @Prop({ default: 'trademark'}) background: string;\n @Prop({ default: 'white'}) textColor: string;\n @Prop() styleClasses: string;\n @Prop({ default: '5' }) paddingX: string;\n @Prop({ default: '5' }) paddingY: string;\n @Prop() submitButtonText: string;\n @Prop({ default: false }) isModal: boolean;\n @Prop({ default: null }) onSubmit: () => void;\n @Ref() inputForm: HTMLFormElement;\n\n get formStyleClasses() {\n return [\n `bg-${this.background}`,\n this.needsValidation ? 'needs-validation' : '',\n `px-${this.paddingX}`,\n `py-${this.paddingY}`,\n `text-${this.textColor}`,\n this.styleClasses,\n ]\n }\n\n public setValidated(wasValidated: boolean) {\n if (wasValidated) {\n this.inputForm.classList.add('was-validated');\n } else {\n this.inputForm.classList.remove('was-validated');\n }\n }\n\n submitEvent(event: Event) {\n if (!this.needsValidation || this.inputForm.checkValidity()) {\n this.$emit('submit');\n }\n if (this.needsValidation) {\n this.inputForm.classList.add('was-validated');\n }\n }\n}\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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport BaseInputTextarea from '@/components/form-fields/base-input-textarea.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Modal } from 'bootstrap';\nimport { Note } from '@/interfaces/note';\nimport { noteService } from '@/services/restapi/note-service';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n },\n})\nexport default class ModalNoteEdit extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ default: null }) initialNote: Note;\n @Prop() projectId: number;\n @Prop() procurementId: number;\n @Prop() companyId: number;\n @Ref() noteTitle: BaseInputField;\n @Ref() noteText: BaseInputTextarea;\n note: Note = null;\n users: User[] = [];\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n this.note = this.initialNote ? {...this.initialNote} : null;\n const user = this.$vmx.user.user;\n this.users = this.$vmx.user.colleagues;\n if (!this.note) {\n this.note = {\n projectId: this.projectId,\n procurementId: this.procurementId,\n companyId: this.companyId,\n createdBy: user.name,\n title: null,\n text: null,\n paUserIds: [user.id],\n created: null,\n updated: null,\n };\n } else {\n this.note.paUserIds = [...this.users].map(u => u.id);\n }\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal(this.modalId);\n }\n }\n\n get buttonRowClasses() {\n return [\n `justify-content-${this.note?.id ? 'between' : 'end'}`,\n ];\n }\n\n get formIsValid() {\n return this.noteText.validate();\n }\n\n get validateNote(): boolean {\n if (this.note) {\n return this.note.paUserIds\n && this.note.paUserIds.length > 0\n && !!this.note.text\n && this.note.text.trim().length > 0;\n }\n return false;\n }\n\n async submit() {\n if (this.formIsValid) {\n this.submitting = true;\n try {\n const newNote: Note = this.note.id && this.note.id !== undefined\n ? await noteService.updateNote(this.note)\n : await noteService.createNote(this.note);\n // await this.$vmx.list.refetchLists();\n this.$emit('noteSaved', newNote);\n this.error = false;\n this.submitting = false;\n this.hideModal(this.modalId);\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n\n openDeleteModal() {\n this.$emit('openDeleteModal', this.note.id);\n }\n\n hideModal(modal: string) {\n const element = document.getElementById(modal);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { dateUtils } from '@/util/date-utils';\nimport { formatUtils } from '@/util/format-utils';\nimport moment from 'moment';\nimport { RawLocation } from 'vue-router';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { Update } from '@/interfaces/update';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component\nexport default class UpdateList extends Vue {\n @Prop({ required: true }) updates: Update[];\n @Prop({ default: false }) blurred: boolean;\n @Prop({ default: 0 }) amount: number; // 0 specify unlimited amount\n @Prop({ default: '' }) scrollSize: string;\n\n // @Prop() itemId: number;\n // @Prop({ required: true }) isProject: boolean;\n // @Prop({ default: null }) onClick?: (type: string) => void;\n\n get updateClasses() {\n return [\n this.blurred ? 'blurred' : '',\n // this.clickable ? 'clickable' : '',\n ];\n }\n\n get isScrollable() {\n return this.scrollSize.length != 0\n }\n\n // get clickable(): boolean {\n // return this.onClick !== null\n // || (\n // this.$route.name !== RouterNames.LOGGED_IN_PROJECT_VIEW\n // && this.$route.name !== RouterNames.LOGGED_IN_PROCUREMENT_VIEW\n // )\n // || (\n // this.$route.name == RouterNames.LOGGED_IN_PROJECT_VIEW && !this.isProject\n // )\n // }\n\n get loading() {\n return this.updates == null || this.updates.length == 0;\n // const bla = this.getLoadedUpdates;\n // return bla == null || bla.length == 0;\n }\n\n get getLoadedUpdates(): { updates: Update[], date: Date }[] {\n if (this.updates != null) {\n return this.convertUpdates(this.updates)\n }\n\n return null;\n }\n\n public formatDate(date: Date): string {\n const now = moment();\n now.set('hours', 0)\n now.set('minutes', 0)\n now.set('seconds', 0)\n\n const day = moment(date);\n day.set('hours', 0)\n day.set('minutes', 0)\n day.set('seconds', 0)\n\n const daysSince = now.diff(day, 'days')\n\n return `${formatUtils.formatDate(date, 'DD.MM.YYYY')} (${this.$tc('components.activityLog.days', daysSince, [daysSince])})`;\n }\n\n private convertUpdates(updates: Update[]): { updates: Update[], date: Date }[] {\n const updatesByDay: { updates: Update[], date: Date }[] = [];\n\n updates.forEach(update => {\n if (!update.text) return;\n\n const date: Date = new Date(update.created);\n\n const index = updatesByDay.findIndex(x => x.date.getFullYear() === date.getFullYear()\n && x.date.getMonth() == date.getMonth()\n && x.date.getDate() == date.getDate(),\n );\n\n if (index >= 0) {\n updatesByDay[index].updates.push(update);\n } else {\n updatesByDay.push({\n updates: [update],\n date: date,\n });\n }\n });\n\n updatesByDay.sort((a, b) => a.date < b.date ? 1 : -1);\n updatesByDay.forEach(daily => daily.updates.sort((a, b) => dateUtils.isDateStringAfter(a.created, b.created) ? -1 : 1))\n\n if (updatesByDay.length > this.amount && this.amount != 0) {\n return updatesByDay.slice(0, this.amount);\n } else {\n return updatesByDay;\n }\n }\n\n getLink(update: Update): RawLocation {\n if (this.blurred) return null;\n\n return {\n name: update.projectId != null ? RouterNames.LOGGED_IN_PROJECT_VIEW : RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\n params: { id: (update.projectId ?? update.procurementId).toString() },\n hash: update.scrollId ? `#${update.scrollId}` : '',\n }\n }\n}\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\nimport * as domainUtils from '@/util/domain-utils';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { dateUtils } from '@/util/date-utils';\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue'\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport IconBar from '@/components/containers/icon-bar.vue';\nimport { LanguageIds } from '@/util/enums/language-ids';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport { Note } from '@/interfaces/note';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\nimport { Project } from '@/interfaces/project';\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { Update } from '@/interfaces/update';\nimport UpdateList from '@/components/general-components/update-list.vue';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component({\n components: {\n DropdownNotes,\n IconBar,\n ModalNoteEdit,\n ModalNoteDelete,\n UpdateList,\n },\n})\nexport default class ListItemCard extends Vue {\n @Prop({ required: true }) listItem: Project | Procurement;\n @Prop({ required: false }) list: List;\n selectedNote: Note = null;\n\n updatesData: Update[] = null;\n\n get nextDeadline(): string {\n const dates: string[] = [];\n\n if (this.isProcurement) {\n dates.push((this.listItem as Procurement).offersTo);\n dates.push((this.listItem as Procurement).materialTo);\n dates.push((this.listItem as Procurement).inquiryTo);\n dates.push((this.listItem as Procurement).participationTo);\n return dateUtils.findNextDate('DD-MM-YYYY', dates);\n }\n\n return null;\n }\n\n get lastUpdated(): string {\n return formatUtils.formatDate(this.listItem.lastUpdateDate, 'DD.MM.YYYY');\n }\n\n get published(): string {\n return formatUtils.formatDate(this.listItem.published, 'DD.MM.YYYY');\n }\n\n get isProcurement(): boolean {\n return globalFunctions.isProcurement(this.listItem);\n }\n\n get getPhase(): ProcurementPhase | ProjectPhase {\n return globalFunctions.isProcurement(this.listItem) ? this.listItem.procurementPhase : this.listItem.projectPhase;\n }\n\n get routeName() {\n return this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW;\n }\n\n get noteId() {\n return `note-list-${this.commonId}`;\n }\n\n get commonId() {\n return `${this.isProcurement ? 'proc' : 'proj'}-${this.listItem.id}`;\n }\n\n getCriteriaNamesOfType(typeId: number): string[] {\n return this.listItem.criteria?.filter(c => c.typeId === typeId).map(c => c.name) ?? [];\n }\n\n formatPrice(price: number) {\n let formattedPrice = this.$n(price, 'currency', domainUtils.domain.numberFormat);\n if (this.$vmx.language.language.id === LanguageIds.danish) {\n formattedPrice = formattedPrice.replace(' kr.', ',-');\n }\n return formattedPrice;\n }\n\n openDeleteNoteModal(id: number) {\n this.selectedNote = this.listItem.notes.find((note) => note.id == id);\n this.openModal(`delete-${this.noteId}`);\n }\n\n noteSaved(note: Note) {\n if (this.listItem.notes.some((x) => x.id === note.id)) {\n this.listItem.notes = this.listItem.notes.map((obj) =>\n obj.id === note.id ? note : obj,\n );\n } else {\n this.listItem.notes.push(note);\n this.listItem.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n noteDeleted(id: number) {\n this.listItem.notes.splice(\n this.listItem.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n get updates(): Update[] {\n if (this.updatesData != null) {\n return this.updatesData\n }\n\n if (this.isProcurement) {\n updateService.getUpdatesByProcurementId(this.listItem.id).then(updates => this.updatesData = updates)\n } else {\n updateService.getUpdatesByProjectId(this.listItem.id).then(updates => this.updatesData = updates)\n }\n\n return this.updatesData;\n }\n}\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=7c77d450&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=7c77d450&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 \"7c77d450\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport IconBar from '@/components/containers/icon-bar.vue';\nimport { List } from '@/interfaces/list';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\n@Component({\n components: {\n IconBar,\n },\n})\nexport default class DropdownIconBar extends Vue {\n @Prop({ required: true }) dataObject: Procurement | Project | ProcurementReference;\n @Prop({ default: 'sm' }) size: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) rightAlign: boolean; // TODO\n\n get firstListWithObject(): List {\n if (this.isOnList) {\n return this.$vmx.list.listsWithObject(this.dataObject)[0];\n }\n return null;\n }\n\n get isOnList(): boolean {\n return this.$vmx.list.isInList(this.dataObject);\n }\n\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Update } from '@/interfaces/update';\nimport UpdateList from '@/components/general-components/update-list.vue';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component({\n components: {\n UpdateList,\n },\n})\nexport default class DropdownUpdates extends Vue {\n @Prop({ default: 'updates-dropdown' }) id: string;\n @Prop({ default: 'sm' }) size: string;\n @Prop({ default: 'sm' }) iconSize: string;\n @Prop({ default: 'bell' }) iconName: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) showBadge: boolean;\n @Prop() label: string;\n @Prop({ required: true }) itemId: number;\n @Prop({ required: true }) isProject: boolean;\n @Prop({ default: null }) onClick?: (type: string) => void;\n @Prop({ default: false }) blurred: boolean;\n\n updates: Update[] = [];\n fetching = false;\n\n get hasAccess(): boolean {\n return this.$vmx.user.hasProduct || this.isProject;\n }\n\n get hasProduct(): boolean {\n return this.$vmx.user.hasProduct;\n }\n\n buttonClick() {\n if (this.hasAccess) {\n this.loadUpdates();\n } else {\n this.$vmx.modal.openPaywallModal();\n }\n }\n\n loadUpdates() {\n if (this.fetching || !this.hasAccess) {\n return;\n }\n this.fetching = true;\n\n if (this.updates) {\n if (this.isProject) {\n updateService.getUpdatesByProjectId(this.itemId).then(updates => {\n this.updates = updates;\n });\n } else {\n updateService.getUpdatesByProcurementId(this.itemId).then(updates => {\n this.updates = updates;\n });\n }\n }\n }\n}\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { BvEvent } from 'bootstrap-vue';\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue'\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\nimport { File } from '@/interfaces/file';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport moment from 'moment';\nimport { Note } from '@/interfaces/note';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { SearchItemListViewObject } from '@/interfaces/search/search-item-list-view-object';\n\n@Component({\n components: {\n DropdownIconBar,\n DropdownNotes,\n DropdownUpdates,\n ModalNoteEdit,\n ModalNoteDelete,\n },\n})\nexport default class SearchItemsListView extends Vue {\n @Prop({ required: true }) searchItems: Array;\n @Prop({ default: false, type: Boolean }) hideRelatedProcurements: boolean;\n @Prop({ default: false }) showNotes: boolean;\n @Prop({ default: null}) list: List;\n @Prop({ default: null }) filterFunc: (val: Procurement | Project | ProcurementReference) => boolean;\n @Prop({ default: false }) colorSharedBlacklist: boolean;\n @Prop({ default: null }) limit: number;\n @Ref() tableContainer: HTMLDivElement;\n selectedNote: Note = null;\n tableSize = 4000;\n allowClick = false;\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n if (this.tableContainer) {\n this.tableSize = this.tableContainer.clientWidth;\n }\n }\n\n get items(): SearchItemListViewObject[] {\n const items: SearchItemListViewObject[] = [];\n this.searchItems\n .filter(this.filterFunc ?? (() => true) )\n .forEach((searchItem: Procurement | Project | ProcurementReference, searchItemIndex) => {\n if (globalFunctions.isProcurementOrProcurementReference(searchItem)) {\n if (globalFunctions.isProcurementAndNotProcurementReference(searchItem)) {\n items.push(this.createObjectFromProcurement(searchItem));\n } else {\n const isLastChild = searchItemIndex == this.searchItems.length - 1;\n items.push(this.createObjectFromProcurementReference(searchItem, isLastChild));\n }\n } else {\n items.push(this.createObjectFromProject(searchItem));\n if (this.hideRelatedProcurements == false) {\n searchItem.procurements.forEach((procurement, childIndex) => {\n const isLastChild = childIndex == searchItem.procurements.length - 1;\n items.push(\n this.createObjectFromProcurementReference(\n procurement,\n isLastChild,\n ),\n );\n });\n }\n }\n });\n\n if (this.limit != null) {\n return items.splice(0, this.limit);\n }\n return items;\n }\n\n\n get userBlacklist() {\n return this.$vmx.blacklist.userBlacklists;\n }\n\n get isShared(): boolean {\n return this.list && this.list.paUserIds.length > 1;\n }\n\n getCriteriaStringsOfType(item: SearchItemListViewObject, typeId: number): string[] {\n return item.criteria?.find(criterionData => criterionData.typeId === typeId)?.criteria ?? [];\n }\n\n public resizeHandler() {\n if (this.tableContainer) {\n this.tableSize = this.tableContainer.clientWidth;\n }\n }\n\n noteId(searchItem: SearchItemListViewObject) {\n return `note-list-${this.commonId(searchItem)}`;\n }\n\n commonId(searchItem: SearchItemListViewObject) {\n return `${this.isProcurement(this.getSearchItem(searchItem)) ? 'proc' : 'proj'}-${searchItem.id}`;\n }\n\n firstListWithObject(searchItem: Procurement | Project | ProcurementReference): List {\n if (this.isOnList(searchItem)) {\n return this.$vmx.list.listsWithObject(searchItem)[0];\n }\n return null;\n }\n\n isOnList(searchItem: Procurement | Project | ProcurementReference): boolean {\n return this.$vmx.list.isInList(searchItem);\n }\n\n isProcurement(item: Procurement | Project | ProcurementReference) {\n return globalFunctions.isProcurementOrProcurementReference(item);\n }\n\n\n isBlacklistedSharedPred(data: SearchItemListViewObject) {\n if (!this.colorSharedBlacklist) {\n return false;\n }\n const isProcurement = data.isProcurement;\n return this.$vmx.blacklist.blacklists.some((blacklist: Blacklist) => {\n if (isProcurement && data.id == blacklist.procurementId) {\n return blacklist.usersIds.length >= 2;\n } else if (!isProcurement && data.id == blacklist.projectId) {\n return blacklist.usersIds.length >= 2;\n }\n return false;\n })\n }\n\n showAtSize(minSize: number) {\n return [\n this.tableSize < minSize ? 'd-none' : '',\n ];\n }\n\n minWidthAtSize(minSize: number) {\n return [\n this.tableSize < minSize ? 'min-width-10-rem' : '',\n ];\n }\n\n private routerLink(item: SearchItemListViewObject) {\n return {\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: item.id.toString() },\n };\n }\n\n routeToViewPage(item: SearchItemListViewObject) {\n this.$router.push({\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: item.id.toString() },\n });\n }\n\n private blockSlowClicks() {\n this.allowClick = true;\n globalFunctions.timeout(100).then(() => {\n this.allowClick = false;\n });\n }\n\n private createObjectFromProject(project: Project): SearchItemListViewObject {\n const criteria: {typeId: number, criteria: string[]}[] = [];\n if (project.criteria) {\n for (const criterion of project.criteria) {\n if (criteria.some(c => c.typeId === criterion.id)) {\n criteria.find(c => c.typeId === criterion.id).criteria.push(criterion.name);\n } else {\n criteria.push({\n typeId: criterion.typeId,\n criteria: [criterion.name],\n });\n }\n }\n }\n return {\n id: project.id,\n isProcurement: false,\n isChild: false,\n isLastChild: false,\n coverImage: project.coverImage,\n name: project.name,\n phase: project.projectPhase.name,\n criteria,\n price: project.budget,\n deadline: this.$t('general.emptyField').toString(),\n published: project.published,\n updated: project.lastUpdateDate,\n _showDetails: true,\n notes: project.notes ? project.notes : null,\n };\n }\n\n private createObjectFromProcurement(\n procurement: Procurement,\n ): SearchItemListViewObject {\n const criteria: {typeId: number, criteria: string[]}[] = [];\n if (procurement.criteria) {\n for (const criterion of procurement.criteria) {\n if (criteria.some(c => c.typeId === criterion.id)) {\n criteria.find(c => c.typeId === criterion.id).criteria.push(criterion.name);\n } else {\n criteria.push({\n typeId: criterion.typeId,\n criteria: [criterion.name],\n });\n }\n }\n }\n return {\n id: procurement.id,\n isProcurement: true,\n isChild: false,\n isLastChild: false,\n name: procurement.name,\n phase: procurement.procurementPhase.name,\n criteria,\n price: procurement.budget,\n deadline: this.nextDeadline(procurement),\n published: procurement.published,\n updated: procurement.lastUpdateDate,\n _showDetails: true,\n notes: procurement.notes ? procurement.notes : null,\n };\n }\n\n private createObjectFromProcurementReference(\n procurementReference: ProcurementReference,\n isLastChild?: boolean,\n ): SearchItemListViewObject {\n return {\n id: procurementReference.id,\n isProcurement: true,\n isChild: true,\n isLastChild: isLastChild,\n name: procurementReference.name,\n phase: procurementReference.procurementPhase,\n criteria: procurementReference.criteria,\n price: procurementReference.budget,\n deadline: this.nextDeadline(procurementReference),\n published: procurementReference.published,\n updated: procurementReference.lastUpdateDate,\n _showDetails: true,\n };\n }\n\n private getSearchItem(item: SearchItemListViewObject) {\n for (const searchItem of this.searchItems) {\n if (this.itemsMatch(item, searchItem)) {\n return searchItem;\n } else if (\n item.isChild\n && !globalFunctions.isProcurementOrProcurementReference(searchItem)\n && searchItem.procurements && searchItem.procurements.length > 0\n ) {\n for (const proc of searchItem.procurements) {\n if (this.itemsMatch(item, proc)) {\n return proc;\n }\n }\n }\n }\n }\n\n private itemsMatch(item: SearchItemListViewObject, searchItem: Project | Procurement | ProcurementReference): boolean {\n return item.id === searchItem.id && item.isProcurement === globalFunctions.isProcurementOrProcurementReference(searchItem);\n }\n\n private rowClicked(\n item: SearchItemListViewObject,\n index: number,\n event: BvEvent,\n ) {\n if (this.allowClick) {\n this.$router.push({\n name: item.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: item.id.toString() },\n });\n }\n }\n\n private nextDeadline(searchItem: ProcurementReference | Procurement): string {\n if (\n this.isNextDeadline(\n searchItem.materialTo,\n searchItem.offersTo,\n searchItem.inquiryTo,\n searchItem.participationTo,\n )\n ) {\n return formatUtils.formatDate(searchItem.materialTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n searchItem.offersTo,\n searchItem.materialTo,\n searchItem.inquiryTo,\n searchItem.participationTo,\n )\n ) {\n return formatUtils.formatDate(searchItem.offersTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n searchItem.inquiryTo,\n searchItem.materialTo,\n searchItem.offersTo,\n searchItem.participationTo,\n )\n ) {\n return formatUtils.formatDate(searchItem.inquiryTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n searchItem.participationTo,\n searchItem.materialTo,\n searchItem.offersTo,\n searchItem.inquiryTo,\n )\n ) {\n return formatUtils.formatDate(searchItem.participationTo, 'DD.MM.YYYY');\n }\n return this.$t('general.emptyField').toString();\n }\n\n private sanitizedText(s: string): string {\n if (s == null) {\n return '…';\n }\n var span = document.createElement('span');\n span.innerHTML = s;\n if (span.innerText.length < 200) {\n return span.innerText;\n } else {\n return span.innerText.substr(0, 199) + '…';\n }\n }\n\n private isNextDeadline(\n date1: string,\n date2: string,\n date3: string,\n date4: string,\n ) {\n const now = moment.now();\n if (date1 == null) {\n return false;\n } else if (moment(date1).isBefore(now)) {\n return false;\n } else if (\n date2 != null &&\n moment(date2).isAfter(now) &&\n moment(date2).isBefore(date1)\n ) {\n return false;\n } else if (\n date3 != null &&\n moment(date3).isAfter(now) &&\n moment(date3).isBefore(date1)\n ) {\n return false;\n } else if (\n date4 != null &&\n moment(date4).isAfter(now) &&\n moment(date4).isBefore(date1)\n ) {\n return false;\n }\n return true;\n }\n\n private imageFromFile(file: File) {\n if (file) {\n return 'url(' + (file.link ? file.link : this.$vmx.file.fromFile(`${file.code}.${file.extension}`, '1x1')) + ')';\n } else {\n return 'url(' + this.$vmx.file.fromFile(null, '1x1') + ')';\n }\n }\n\n firstCriteriaText(text: string): string {\n return text ? this.formatText(text, 15) : (this.$t('general.emptyField') as string);\n }\n\n private formatDate(date: string) {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n\n private formatText(text: string, maxChars: number) {\n if (text.length > maxChars) {\n return text.substring(0, maxChars) + '…';\n } else {\n return text;\n }\n }\n\n blacklistRemoved(blacklist: Blacklist) {\n this.$emit('blacklistRemoved', blacklist)\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n openDeleteNoteModal(id: number) {\n for (const searchItem of this.items) {\n const note = searchItem.notes.find((note) => note.id == id);\n if (note) {\n this.selectedNote = note;\n this.openModal(`delete-${this.noteId(searchItem)}`);\n }\n }\n }\n\n noteSaved(note: Note) {\n const searchItem = this.searchItems.find((searchItem) => {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(searchItem);\n return searchItem.id === (isProcurement ? this.selectedNote.procurementId : note.projectId);\n });\n if (searchItem.notes.some((x) => x.id === note.id)) {\n searchItem.notes = searchItem.notes.map((obj) =>\n obj.id === note.id ? note : obj,\n );\n } else {\n searchItem.notes.push(note);\n searchItem.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n noteDeleted(id: number) {\n const searchItem = this.searchItems.find((searchItem) => {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(searchItem);\n return searchItem.id === (isProcurement ? this.selectedNote.procurementId : this.selectedNote.projectId);\n });\n searchItem.notes.splice(\n searchItem.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n}\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\"},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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class DropdownOrderBy extends Vue {\n @Prop({default: 'primary'}) variant: string;\n @Prop({default: ''}) size: string;\n @VModel() orderBy: string;\n @Prop({required: true}) options: Object;\n}\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=60c2075b&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 \"60c2075b\",\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:\"d-flex d-row align-items-center rounded\",style:({ 'background-color': _vm.backgroundColor })},[_c('div',{staticClass:\"input-group\",class:'input-group-' + _vm.size},[_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',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()}}})]),(_vm.text != null && _vm.text.length > 0)?_c('BaseButtonIcon',{attrs:{\"variant\":\"white\",\"icon-name\":\"times\"},on:{\"click\":function($event){return _vm.clear()}}}):_vm._e(),(_vm.button)?_c('div',[_c('BaseButton',{attrs:{\"style-classes\":'rounded-0 rounded-end roboto-lg',\"variant\":\"primary\",\"with-spinner\":false},on:{\"click\":_vm.emitSubmit}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'search'],\"size\":\"lg\"}})],1)],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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class SearchInput extends Vue {\n @VModel() text: string;\n @Prop({default: ''}) placeholder: string;\n @Prop({default: 'md'}) size: string;\n @Prop({default: 'transparent'}) backgroundColor: string;\n @Prop({default: false, type: Boolean}) button: string;\n @Prop({default: true, type: Boolean}) borderBottom: string;\n @Prop({ default: true }) routeOnFilter: boolean;\n\n emitSubmit() {\n this.$emit('submit');\n }\n\n emitNotTyping() {\n this.$emit('notTyping');\n }\n\n clear() {\n this.$emit('input', '');\n this.$emit('submit');\n }\n}\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=9daeb1e8&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=9daeb1e8&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 \"9daeb1e8\",\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.$t('general.project'))+\" \")])])])],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.$t('general.procurement'))+\" \")])]):_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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\nimport { File } from '@/interfaces/file';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport IconBar from '@/components/containers/icon-bar.vue';\nimport { List } from '@/interfaces/list';\nimport moment from 'moment';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport { RouterNames } from '@/util/enums/router-names';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\n\n@Component({\n components: {\n DropdownUpdates,\n IconBar,\n SearchItemsListView,\n },\n})\nexport default class SearchItemCard extends Vue {\n @Prop({ required: true }) searchItem: Procurement | Project;\n @Prop({ default: false }) hideProcurements: boolean;\n @Prop({ default: 'components.itemCard.relatedProcurements' }) relatedProcurementText: string;\n @Prop() generalModalId: string;\n\n\n get blacklistModalId() {\n return `modal-blacklist-${this.commonId}`;\n }\n\n get listModalId() {\n return `modal-list-${this.commonId}`;\n }\n\n get commonId() {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.searchItem);\n return `${isProcurement ? 'proc' : 'proj'}-${this.searchItem.id}`;\n }\n\n get firstListWithObject(): List {\n if (this.isOnList) {\n return this.$vmx.list.listsWithObject(this.searchItem)[0];\n }\n return null;\n }\n\n get isOnList(): boolean {\n return this.$vmx.list.isInList(this.searchItem);\n }\n\n get cardPadding() {\n return [\n this.isProcurement ? 'pe-4' : 'px-4 ps-sm-0',\n ];\n }\n\n get isBlacklisted(): boolean {\n return this.$vmx.blacklist.isOnUserBlacklist(this.searchItem);\n }\n\n get blacklist(): Blacklist {\n const isProcurement = globalFunctions.isProcurement(this.searchItem);\n return this.$vmx.blacklist.userBlacklists.find((blacklist) =>\n this.searchItem.id == (isProcurement ? blacklist.procurementId : blacklist.projectId),\n );\n }\n\n get blacklistHasMoreUsers(): boolean {\n return this.blacklist ? this.blacklist.usersIds.length > 1 : false;\n }\n\n async deleteBlacklist() {\n try {\n await this.$vmx.blacklist.deleteBlacklist(this.blacklist.id);\n this.error = false;\n } catch (error) {\n this.error = true;\n }\n }\n\n async removeUserFromBlacklist() {\n if (this.blacklist) {\n const blacklist = this.blacklist;\n try {\n blacklist.usersIds = blacklist.usersIds.filter((userId) => userId !== this.$vmx.user.user.id);\n await this.$vmx.blacklist.pushBlacklist(blacklist);\n this.error = false;\n } catch (error) {\n this.error = true;\n }\n } else {\n this.error = true;\n }\n }\n\n public nextDeadline: string = null;\n isRemoved = false;\n showProcurements = true;\n error = false;\n\n created() {\n if (this.hideProcurements) {\n this.showProcurements = false;\n }\n if (globalFunctions.isProcurement(this.searchItem)) {\n if (\n this.isNextDeadline(\n this.searchItem.materialTo,\n this.searchItem.offersTo,\n this.searchItem.inquiryTo,\n this.searchItem.participationTo,\n )\n ) {\n this.nextDeadline =\n formatUtils.formatDate(this.searchItem.materialTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n this.searchItem.offersTo,\n this.searchItem.materialTo,\n this.searchItem.inquiryTo,\n this.searchItem.participationTo,\n )\n ) {\n this.nextDeadline =\n formatUtils.formatDate(this.searchItem.offersTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n this.searchItem.inquiryTo,\n this.searchItem.materialTo,\n this.searchItem.offersTo,\n this.searchItem.participationTo,\n )\n ) {\n this.nextDeadline =\n formatUtils.formatDate(this.searchItem.inquiryTo, 'DD.MM.YYYY');\n } else if (\n this.isNextDeadline(\n this.searchItem.participationTo,\n this.searchItem.materialTo,\n this.searchItem.offersTo,\n this.searchItem.inquiryTo,\n )\n ) {\n this.nextDeadline = formatUtils.formatDate(\n this.searchItem.participationTo,\n 'DD.MM.YYYY',\n );\n }\n }\n }\n\n sanitizedText(s: string): string {\n if (s == null) {\n return '…';\n }\n var span = document.createElement('span');\n span.innerHTML = s;\n return span.innerText;\n }\n\n isNextDeadline(date1: string, date2: string, date3: string, date4: string) {\n const now = moment.now();\n if (date1 == null) {\n return false;\n } else if (moment(date1).isBefore(now)) {\n return false;\n } else if (date2 != null && moment(date2).isAfter(now) && moment(date2).isBefore(date1)) {\n return false;\n } else if (date3 != null && moment(date3).isAfter(now) && moment(date3).isBefore(date1)) {\n return false;\n } else if (date4 != null && moment(date4).isAfter(now) && moment(date4).isBefore(date1)) {\n return false;\n }\n return true;\n }\n\n get hasProcurements(): boolean {\n return !globalFunctions.isProcurement(this.searchItem)\n && this.searchItem.procurements != null\n && this.searchItem.procurements.length > 0;\n }\n\n getCriteriaNamesOfType(typeId: number): string[] {\n return this.searchItem.criteria?.filter(c => c.typeId === typeId).map(c => c.name) ?? [];\n }\n\n openPage() {\n this.$router.push({\n name: this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: this.searchItem.id.toString() },\n });\n }\n\n get routerLink() {\n return {\n name: this.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: this.searchItem.id.toString() },\n };\n }\n\n get isProcurement(): boolean {\n return globalFunctions.isProcurement(this.searchItem);\n }\n\n\n public imageFromFile(file: File, backupImageFormat?: string) {\n if (file) {\n return 'url(' + (file.link ? file.link : this.$vmx.file.fromFile(`${file.code}.${file.extension}`, backupImageFormat)) + ')';\n } else {\n return 'url(' + this.$vmx.file.fromFile(null, backupImageFormat) + ')';\n }\n }\n\n public formatDate(date: string) {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n}\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=7ea20370&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=7ea20370&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 \"7ea20370\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport ListItemCard from '@/components/cards/list-item-card.vue';\nimport moment from 'moment';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport SearchInput from '@/components/form-fields/search-input.vue';\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\nimport { TranslateResult } from 'vue-i18n';\n\n@Component({\n components: {\n DropdownOrderBy,\n ListItemCard,\n SearchItemCard,\n SearchInput,\n SearchItemsListView,\n },\n})\nexport default class SmallListLayout extends Vue {\n @Prop({ default: null }) emptyListText: string;\n @Prop({ default: true }) listViewDefault: boolean;\n\n // Callbacks\n @Prop({ required: true }) onFilterText: (val: string) => void;\n @Prop({ default: null }) onShowBlacklistsed: (val: boolean) => void;\n @Prop({ required: true }) onOrderBy: (val: (a: Project | Procurement, b: Project | Procurement) => number) => void;\n @Prop({ required: true }) onListView: (val: boolean) => void;\n\n filterText = '';\n orderBy: TranslateResult = null;\n orderByDescending = true;\n listView = true;\n\n created() {\n this.orderBy = this.sortingOptions[0][0];\n }\n\n mounted() {\n this.listView = this.listViewDefault;\n this.returnOrderBy();\n }\n\n resultsForList: (Procurement | Project)[] = null;\n resultsForCard: (Procurement | Project)[] = null;\n\n sortingOptions: [TranslateResult, (a: Project | Procurement, b: Project | Procurement) => number][] = [\n [ this.$t('components.sorting.updated'), this.compareLatestUpdate ],\n [ this.$t('components.sorting.contractSum'), (a, b) => b.budget - a.budget ],\n [ this.$t('components.sorting.published'), (a, b) => moment(a.published).isBefore(moment(b.published)) ? 1 : -1 ],\n ]\n\n get orderByDesc() {\n return this.orderByDescending ? 'desc' : 'asc'\n }\n\n set orderByDesc(val: string) {\n this.orderByDescending = val === 'desc';\n this.returnOrderBy();\n }\n\n get viewType() {\n return this.listView ? 'list' : 'card';\n }\n\n set viewType(val: string) {\n this.listView = val === 'list';\n this.onListView(this.listView);\n }\n\n returnOrderBy() {\n for (const [sortName, sortMethod] of this.sortingOptions) {\n if (sortName == this.orderBy) {\n if (this.orderByDescending) {\n this.onOrderBy(sortMethod);\n } else {\n this.onOrderBy((a, b) => sortMethod(b, a));\n }\n return;\n }\n }\n }\n\n compareLatestUpdate(a: Procurement | Project, b: Procurement | Project) {\n if (!a.lastUpdateDate) return 1;\n if (!b.lastUpdateDate) return -1;\n return moment(a.lastUpdateDate).isAfter(moment(b.lastUpdateDate)) ? -1 : 1;\n }\n}\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';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { blacklistService } from '@/services/restapi/blacklist-service';\nimport { globalFunctions } from '@/util/global-functions';\nimport ListItemCard from '@/components/cards/list-item-card.vue';\nimport { Modal } from 'bootstrap';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\nimport SmallListLayout from '@/components/layouts/small-list-layout.vue';\n\n@Component({\n components: {\n BaseModalContainer,\n ListItemCard,\n SearchItemsListView,\n SmallListLayout,\n },\n})\nexport default class BlacklistView extends Vue {\n public blacklistedItems: (Project | Procurement)[] = null;\n public filterText = '';\n public listView = true;\n loading = true;\n limit = 20;\n showMoreLimit = 20;\n cleanForAll = false;\n cleanupError = false;\n cleanupModalId='cleanup-blacklist-modal';\n\n mounted() {\n this.resetBlacklistPage();\n }\n\n get blacklists(): Blacklist[] {\n return this.$vmx.blacklist.userBlacklists;\n }\n\n get emptyListText() {\n if (this.blacklistedItems != null) {\n return null;\n }\n if (this.filterText.length != 0) {\n return this.$t('components.sorting.noResults', [this.filterText]);\n }\n return 'Du har ikke nogle skjulte udbud eller projekter.';\n }\n \n get allResults() {\n if (this.filterText) {\n return this.blacklistedItems.filter((item) =>\n item.name.toLowerCase().includes(this.filterText.toLowerCase()),\n );\n } else {\n return this.blacklistedItems;\n }\n }\n\n get itemResults() {\n const resultcopy = [... this.allResults];\n return resultcopy.splice(0, this.limit);\n }\n\n get showAddtoLimit(): boolean {\n return this.limit <= this.allResults.length;\n }\n\n @Watch('$vmx.blacklist.blacklists')\n blacklistRemoved(blacklist: Blacklist) {\n this.blacklistedItems = this.blacklistedItems?.filter(\n (item) =>\n item.id !==\n (globalFunctions.isProcurement(item) ? blacklist.procurementId : blacklist.projectId),\n ) ?? [];\n this.$vmx.search.resetPage();\n }\n\n addToLimit() {\n this.limit = this.limit + this.showMoreLimit;\n }\n\n async cleanupBlacklist() {\n this.cleanupError = false;\n await blacklistService.cleanupBlacklist(this.cleanForAll).then(() => {\n this.hideModal();\n this.resetBlacklistPage();\n }).catch(reason => {\n this.cleanupError = true;\n })\n }\n\n filterFunc(val: Procurement | Project): boolean {\n return blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\n }\n\n hideModal() {\n const element = document.getElementById(this.cleanupModalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n // SmallListLayout Callbacks\n onFilterText(val: string) {\n this.filterText = val;\n }\n\n onOrderBy(val: (a: Project | Procurement, b: Project | Procurement) => number) {\n this.blacklistedItems = this.blacklistedItems.sort(val);\n }\n\n onListView(val: boolean) {\n this.listView = val;\n }\n\n openModal() {\n const element = document.getElementById(this.cleanupModalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n resetBlacklistPage() {\n this.loading = true;\n this.blacklistedItems = [];\n blacklistService.getAllProcurementsAndProjects().then((value) => {\n this.blacklistedItems = [...value];\n this.loading = false;\n });\n }\n}\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\"},[_c('div',{staticClass:\"col-12\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$t('pages.changePassword.title').toUpperCase())+\" \")])]),_c('div',{staticClass:\"col-12 col-xl-8\"},[_c('FormChangePassword',{attrs:{\"token\":_vm.resetToken}})],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('pages.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.passwordSaved)?_c('BaseButton',{ref:\"submitButton\",attrs:{\"disabled\":_vm.passwordSaved,\"type\":\"submit\",\"variant\":\"cta\",\"on-click-cb\":_vm.submit}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.changePassword.saveButton'))+\" \")]):_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('pages.changePassword.saved'))+\" \")])],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:\"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.username.placeholder'),\"invalid-text\":_vm.$t('components.inputField.username.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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport { User } from '@/interfaces/user';\n\nconst api = '/users';\n\nexport class UserService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n async getUser(): Promise {\n if (this.getToken() == null || this.getToken().length == 0) {\n return null;\n }\n\n const response = await this.get(api);\n if (ResponseCodes.is2xx(response.status)) {\n return response.data;\n }\n\n return null;\n }\n\n public putUser = async (user: User): Promise => {\n const response = await this.put(api, user);\n return this.getResponse(response);\n };\n\n public updateEmail = async (newEmail: string, code: string): Promise => {\n const body = {\n newEmail: newEmail,\n code: code,\n };\n const response = await this.put(api + '/updateEmail', body);\n return this.getResponse(response);\n };\n\n public sendResetPasswordEmail = async (email: string): Promise => {\n const config = {\n params: { email: email },\n };\n const response = await this.post(api + '/passwordReset', null, config);\n return this.getResponse(response);\n };\n\n public sendChangePasswordEmail = async (): Promise => {\n const response = await this.post(api + '/newPassword');\n return this.getResponse(response);\n };\n\n public changePassword = async (newPassword: string, resetToken: string): Promise => {\n const body = {\n newPassword: newPassword,\n token: resetToken,\n };\n const response = await this.put(api + '/changePassword', body);\n return this.getResponse(response);\n };\n\n public sendRequestSubscription = async (\n name: string,\n phone: string,\n email: string,\n ): Promise => {\n const body = { name: name, phone: phone, email: email };\n const response = await this.post(api + '/requestSubscription', body);\n return this.getResponse(response);\n };\n\n public sendChangeSubscription = async (newSubscription: string): Promise => {\n const response = await this.post(api + '/changeSubscription/' + newSubscription);\n return this.getResponse(response);\n };\n\n public sendCancelSubscription = async (): Promise => {\n const response = await this.post(api + '/cancelSubscription');\n return this.getResponse(response);\n };\n\n public sendBookDemo = async (\n name: string,\n phone: string,\n email: string,\n companyName: string,\n date: string,\n ): Promise => {\n const body = { name: name, phone: phone, email: email, date: date, companyName: companyName };\n const response = await this.post(api + '/bookDemo', body);\n return this.getResponse(response);\n };\n\n public getUsersInCompany = async (): Promise => {\n const response = await this.get(`${api}/company`);\n return this.getResponse(response);\n };\n}\n\nexport const userService = new UserService(apiConfig);\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport { ContactInfo } from '@/interfaces/non-entities/contact-info';\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { userService } from '@/services/restapi/user-service';\n\n@Component({\n components: {\n AbstractForm,\n },\n})\nexport default class FormLogin extends Vue {\n @Prop() contactInfo: ContactInfo\n @Prop({ default: null }) onSubmit: () => Promise;\n @Prop({ default: 'white '}) textColor: string;\n @Prop() backgroundColor: string;\n @Prop({ default: '5' }) paddingX: string;\n @Prop({ default: '5' }) paddingY: string;\n @Prop({ default: RouterNames.LOGGED_IN_DASHBOARD }) redirect: RouterNames | null;\n @Prop() bodyText: string;\n @Prop({ default: false }) centerHeader: boolean;\n\n @Ref() inputName: BaseInputField;\n @Ref() inputPassword: BaseInputField;\n @Ref() inputEmail: BaseInputField;\n\n loginDetails: LoginDetails = {\n username: '',\n password: '',\n rememberMe: false,\n };\n\n email = '';\n unauthorized = false;\n showError = false;\n showForgotPassword = false;\n mailSent = false;\n mailError = false;\n\n mounted() {\n // this.loginDetails.redirect = this.redirect;\n }\n\n get alertType(): string {\n if (this.mailSent) {\n return 'success';\n } else if (this.mailError) {\n return 'danger'\n }\n return 'primary';\n }\n\n get alertMessage(): string {\n if (this.mailSent) {\n return this.$t('components.login.forgotten.success') as string;\n } else if (this.mailError) {\n return this.$t('components.login.error') as string;\n }\n return this.$t('components.login.forgotten.text') as string;\n }\n\n get formIsValid(): boolean {\n let isValid = this.inputName.validate();\n isValid = this.inputPassword.validate() && isValid;\n return isValid;\n }\n\n async login() {\n if (this.formIsValid) {\n try {\n await this.$vmx.session.loginIn(this.loginDetails);\n this.unauthorized = false;\n this.showError = false;\n\n if (this.redirect != null) {\n this.$router.push({ name: this.redirect })\n }\n } catch (errorCode) {\n this.showError = true;\n if (errorCode !== ResponseCodes.INTERNAL_SERVER_ERROR) {\n this.unauthorized = true;\n }\n }\n }\n }\n\n async sendResetEmail() {\n if (this.inputEmail.validate()) {\n userService.sendResetPasswordEmail(this.email).then(\n () => { // success\n this.mailSent = true;\n this.mailError = false;\n },\n () => { // error\n this.mailSent = false;\n this.mailError = true;\n },\n );\n }\n }\n\n}\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=ec09c03a&\"\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport FormLogin from '@/components/forms/form-login.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { userService } from '@/services/restapi/user-service';\n\n\n@Component({\n components: {\n AbstractForm,\n FormLogin,\n },\n})\nexport default class FormChangePassword extends Vue {\n @Prop({required: true}) token: string;\n @Prop({ default: 'white' }) backgroundColor: string;\n\n @Ref() inputPassword: BaseInputField;\n @Ref() inputPasswordAgain: BaseInputField;\n @Ref() abstractForm: AbstractForm;\n\n password1 = '';\n password2 = '';\n passwordSaved = false;\n\n formIsValid(): boolean {\n let isValid = this.inputPassword.validate();\n isValid = this.inputPasswordAgain.validate() && isValid;\n return isValid;\n }\n\n isValidSecondPassword (val: string): boolean {\n return val === this.password1;\n }\n\n async submit() {\n this.abstractForm.setValidated(true);\n if (this.formIsValid()) {\n userService.changePassword(this.password1, this.token).then(() => {\n this.passwordSaved = true;\n if (this.$vmx.session.isLoggedIn) {\n globalFunctions.timeout(2000).then(() => {\n this.$router.push('/');\n })\n }\n });\n }\n }\n}\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=b966aaa6&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=b966aaa6&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 \"b966aaa6\",\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\nimport * as domainUtils from '@/util/domain-utils';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component\nexport default class BaseLogo extends Vue {\n @Prop({default: '250px'}) width: string;\n @Prop({ default: false }) loggedIn: boolean;\n @Prop({default: false, type: Boolean}) black: boolean;\n\n get link (): RouterNames {\n return RouterNames.LOGGED_IN_DASHBOARD;\n\n }\n\n get logoClasses() {\n return {\n 'logged-in': this.loggedIn,\n 'inverted': this.black,\n }\n }\n\n getLogo() {\n const logo = this.$vmx.domain.domain.logo;\n return this.$vmx.file.fromFile(logo ? `${logo.code}.${logo.extension}` : 'project-agent/logo-210x50_dk.svg')\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { chooseDomain } from '@/util/domain-utils';\nimport { Domain } from '@/interfaces/domain';\n\n@Component({})\nexport default class DropdownDomain extends Vue {\n getDomains(): Domain[] {\n return (this.$vmx.domain.domains as Domain[])\n .sort((domain1, domain2) => domain1.name.localeCompare(domain2.name));\n }\n\n getDomainSVG(tld: string) {\n return {\n backgroundImage: `url('${require('@/assets/flags/' + tld + '.svg')}')`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n }\n }\n\n isActive(domain: Domain): boolean {\n return domain.id === (this.$vmx.domain.domain as Domain).id;\n }\n\n getUrl(domain: Domain): string {\n if (location.host.split(':')[0] === 'localhost') {\n return `https://www.${domain.sld}.${domain.tld}`;\n }\n const [ root, ...bla] = location.host.split('.');\n return `https://${root}.${domain.sld}.${domain.tld}`;\n }\n\n onClick(domain: Domain) {\n chooseDomain(domain)\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component\nexport default class DropdownProfileContent extends Vue {\n\n get routeUserSettings(): string {\n return RouterNames.LOGGED_IN_USER_SETTINGS;\n }\n\n async logout() {\n // this.$ga.set('dimension1', null);\n // this.$gtag.customMap({ 'dimension1': null });\n // authService.logout();\n this.$vmx.session.loginOut();\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport DropdownProfileContent from '@/components/dropdowns/dropdown-profile-content.vue';\n\n@Component({\n components: {\n DropdownProfileContent,\n },\n})\nexport default class DropdownProfile extends Vue {\n @Prop({ default: 'true' }) bsAutoClose: string;\n\n canBeClosed = false;\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component\nexport default class DropdownProfileLimitedContent extends Vue {\n @Prop({ required: true }) changeToLogin: () => void;\n\n get name() {\n return this.$vmx.limitedAccess.limitedAccess.name;\n }\n\n get mail() {\n return this.$vmx.limitedAccess.limitedAccess.mail;\n }\n\n get views() {\n return this.$vmx.limitedAccess.limitedAccess.views;\n }\n\n get routeCookiePolicy(): string {\n return null;\n }\n\n get routeUserSettings(): string {\n return RouterNames.LOGGED_IN_USER_SETTINGS;\n }\n\n async logout() {\n // this.$ga.set('dimension1', null);\n // this.$gtag.customMap({ 'dimension1': null });\n // authService.logout();\n this.$vmx.session.loginOut();\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseLogo from '@/components/buttons/base-logo.vue';\nimport DropdownDomain from '@/components/dropdowns/dropdown-domain.vue';\nimport DropdownProfile from '@/components/dropdowns/dropdown-profile.vue';\nimport DropdownProfileContent from '@/components/dropdowns/dropdown-profile-content.vue';\nimport DropdownProfileLimitedContent from '@/components/dropdowns/dropdown-profile-limited-content.vue';\nimport FormLogin from '@/components/forms/form-login.vue';\nimport { Location } from 'vue-router';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { RoutingButton } from '@/interfaces/non-entities/routing-button';\n\n@Component({\n components: {\n FormLogin,\n DropdownProfileContent,\n DropdownProfileLimitedContent,\n BaseLogo,\n DropdownProfile,\n DropdownDomain,\n },\n})\nexport default class TheHeader extends Vue {\n showLogin = false;\n viewDefaultLogin = false;\n\n routeName: string = this.$router.currentRoute.name;\n\n readonly routeHelp = RouterNames.LOGGED_IN_HELP;\n\n mounted() {\n this.$router.beforeEach((to, from, next) => {\n this.routeName = to.name;\n next();\n });\n }\n\n get isLoggedIn(): boolean {\n return this.$vmx.user.user?.id != null;\n // return this.$vmx.session.isLoggedinUser;\n }\n\n get isLimitedAccess(): boolean {\n return !this.isLoggedIn && this.$vmx.session.isLoggedInLimitedAccess && this.$route.name === RouterNames.LOGGED_IN_PROJECT_VIEW;\n }\n\n navbarLocations: { title: string, location: Location }[] = [\n {\n title: 'pages.dashboard.title',\n location: {\n name: RouterNames.LOGGED_IN_DASHBOARD,\n },\n },\n {\n title: 'pages.blacklist.title',\n location: {\n name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\n },\n },\n {\n title: 'pages.search.title',\n location: {\n name: RouterNames.LOGGED_IN_SEARCH,\n params: { page: '0' },\n },\n },\n {\n title: 'pages.companySearch.title',\n location: {\n name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\n },\n },\n ];\n\n changeToLogin() {\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD })\n }\n\n}\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';\nimport FormChangePassword from '@/components/forms/form-change-password.vue';\nimport TheHeader from '@/components/headers/the-header.vue';\n\n@Component({\n components: {\n FormChangePassword,\n TheHeader,\n },\n})\nexport default class ChangePasswordView extends Vue {\n @Prop({ required: true }) resetToken: string;\n\n getBackground(fileName: string) {\n return 'url(' + this.$vmx.file.fromFile('project-agent/backgrounds/' + fileName) + ')';\n }\n}\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=6a06d591&\"\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\nimport { Component, Ref, Vue } from 'vue-property-decorator';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue';\n\n@Component({\n components: {\n FormBookDemo,\n },\n})\nexport default class Error401 extends Vue {\n}\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\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { companyService } from '@/services/restapi/company-service';\nimport { dateUtils } from '@/util/date-utils';\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport moment from 'moment';\nimport { Project } from '@/interfaces/project';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { TranslateResult } from 'vue-i18n';\n\n@Component({\n components: {\n DropdownIconBar,\n DropdownOrderBy,\n },\n})\nexport default class CompanyProjectsList extends Vue {\n @Prop({ required: true }) companyId: number;\n @Prop({ default: true }) filters: boolean;\n @Prop({ default: null }) limit: number;\n @Prop({ default: 10 }) itemsToShow: number;\n @Prop({ default: 'transparent' }) headerColor: string;\n @Prop() headerText: string;\n @Ref() tableContainer: HTMLDivElement;\n\n sortOptions: [TranslateResult, (a: Project, b: Project) => number][] = [\n [this.$t('pages.company.companyRoles.sortNewest'), this.comparatorDate],\n [this.$t('pages.company.companyRoles.sortName'), this.comparatorItemName],\n [this.$t('pages.company.companyRoles.sortPhase'), this.comparatorPhase],\n [this.$t('pages.company.companyRoles.sortRole'), this.comparatorRoleName],\n ];\n\n errorCode: number = null;\n getImageFromFile = this.$vmx.file.imageFromFile;\n items: Array = null;\n loading = false;\n order: 'asc' | 'desc' = 'asc';\n sort: TranslateResult = this.sortOptions[0][0];\n tableOptions = {\n lg: 1080,\n md: 768,\n sm: 535,\n }\n tableSize = 4000;\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n this.loading = true;\n this.loadItemsInCompany();\n }\n\n get headerClasses() {\n return [\n // this.headerColor ? `table-${this.headerColor}` : '',\n this.headerColor ? `bg-${this.headerColor}` : '',\n this.headerText ? `text-${this.headerText}` : '',\n ]\n }\n\n get sortedItems(): Array {\n const sortedAndFiltered = [...this.items];\n\n for (const [sortName, sortMethod] of this.sortOptions) {\n if (sortName === this.sort) {\n if (this.order === 'asc') {\n sortedAndFiltered.sort(sortMethod);\n } else {\n sortedAndFiltered.sort((a, b) => sortMethod(b, a));\n }\n break;\n }\n }\n\n return sortedAndFiltered;\n }\n\n get shownItems(): Array {\n const sortedAndFiltered = this.sortedItems;\n return sortedAndFiltered.slice(0, this.itemsToShow);\n }\n\n getCriteriaStringsOfType(item: Project, typeId: number): string[] {\n return item.criteria?.filter(criterionData => criterionData.typeId === typeId)?.map(c => c.name) ?? [];\n }\n\n comparatorDate(item1: Project, item2: Project): number {\n const isAfter: boolean = dateUtils.isDateStringAfter(item1.published, item2.published);\n const isBefore: boolean = dateUtils.isDateStringAfter(item2.published, item1.published);\n return isAfter ? -1 : isBefore ? 1 : 0;\n }\n\n comparatorItemName(item1: Project, item2: Project): number {\n return item1.name < item2.name ? -1 : item2.name < item1.name ? 1 : 0;\n }\n\n comparatorPhase(item1: Project, item2: Project): number {\n const phaseId1 = item1.projectPhase.id;\n const phaseId2 = item2.projectPhase.id;\n return phaseId1 < phaseId2 ? -1 : phaseId2 < phaseId1 ? 1 : 0;\n }\n\n comparatorRoleName(item1: Project, item2: Project): number {\n const role1 = item1.companyRoles[0].role?.name ?? item1.companyRoles[0].roleString ?? this.$t('general.unspecified');\n const role2 = item2.companyRoles[0].role?.name ?? item2.companyRoles[0].roleString ?? this.$t('general.unspecified');\n return role1 < role2 ? -1 : role2 < role1 ? 1 : 0;\n }\n\n formatDate(date: string) {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n\n getDatesForItem(item: Project): string[] {\n const dates: string[] = [];\n if (item.companyRoles) {\n for (const companyRole of item.companyRoles) {\n if (companyRole.added) {\n dates.push(formatUtils.formatDate(companyRole.added, 'DD.MM.YYYY'));\n }\n }\n }\n return dates;\n }\n\n getRolesForItem(item: Project): {role: string, added: string}[] {\n const roles: { role: string, added: string }[] = [];\n if (item.companyRoles) {\n for (const companyRole of item.companyRoles) {\n const newRole = {\n role: companyRole.role?.name ?? companyRole.roleString ?? this.$t('general.unspecified') as string,\n added: companyRole.added ? formatUtils.formatDate(companyRole.added, 'DD.MM.YYYY') : null,\n }\n roles.push(newRole);\n }\n }\n return roles;\n }\n\n loadItemsInCompany() {\n companyService.getItemsForCompany(this.companyId, true, this.limit)\n .then(\n (items) => {\n items.forEach(item => {\n item.companyRoles = item.companyRoles.sort((cr1, cr2) => moment(cr1.added).isAfter(moment(cr2.added)) ? 1 : -1)\n })\n this.items = items as Array;\n },\n (error) => {\n this.errorCode = error;\n },\n ).finally(() => {\n this.loading = false;\n })\n }\n\n @Watch('filter')\n resetShown() {\n this.itemsToShow = 10;\n }\n\n public resizeHandler() {\n if (this.tableContainer) {\n this.tableSize = this.tableContainer.clientWidth;\n }\n }\n\n routerLink(item: Project) {\n return {\n name: RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: item.id.toString() },\n };\n }\n\n showAtSize(minSize: number) {\n return [\n this.tableSize < minSize ? 'd-none' : '',\n ];\n }\n}\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\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { Company } from '@/interfaces/company';\nimport CompanyProjectsList from '@/components/company-list-components/company-projects-list.vue';\nimport DropdownNotes from '@/components/dropdowns/dropdown-notes.vue';\nimport { Location } from 'vue-router';\nimport { Modal } from 'bootstrap';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport { Note } from '@/interfaces/note';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component({\n components: {\n CompanyProjectsList,\n DropdownNotes,\n ModalNoteEdit,\n ModalNoteDelete,\n },\n})\nexport default class TableCompanyList extends Vue {\n @Prop() companies: Company[];\n @Prop({ default: false }) loading: boolean;\n @Ref() tableContainer: HTMLDivElement;\n projectLimit = 5;\n\n unfoldedLists: Array = [];\n\n selectedNote: Note = null;\n tableSize = 4000;\n\n tableOptions = {\n xxl: 1265,\n xl: 900,\n lg: 768,\n md: 535,\n sm: 400,\n }\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n this.resizeHandler();\n }\n\n activated() {\n this.resizeHandler();\n }\n\n get colClassesAddress() {\n if (this.tableSize > this.tableOptions.xl) {\n return [\n 'col-3',\n ];\n } else if (this.tableSize > this.tableOptions.lg) {\n return [\n 'col-4',\n ];\n } else {\n return [\n 'd-none',\n ];\n }\n }\n\n get colClassesMail() {\n if (this.tableSize > this.tableOptions.xxl) {\n return [\n 'col-2',\n ];\n } else {\n return [\n 'd-none',\n ];\n }\n }\n\n get colClassesName() {\n if (this.tableSize > this.tableOptions.xl) {\n return [\n 'col-5',\n ];\n } else if (this.tableSize > this.tableOptions.lg) {\n return [\n 'col-6',\n ];\n } else if (this.tableSize > this.tableOptions.md) {\n return [\n 'col-8',\n ];\n } else {\n return [\n 'col-12',\n ];\n }\n }\n\n get colClassesPhone() {\n if (this.tableSize > this.tableOptions.xxl) {\n return [\n 'col-1',\n ];\n } else if (this.tableSize > this.tableOptions.xl) {\n return [\n 'col-2',\n ];\n } else {\n return [\n 'd-none',\n ];\n }\n }\n\n get colClassesVatin() {\n if (this.tableSize > this.tableOptions.xxl) {\n return [\n 'col-1',\n ];\n } else if (this.tableSize > this.tableOptions.lg) {\n return [\n 'col-2',\n ];\n } else if (this.tableSize > this.tableOptions.md) {\n return [\n 'col-4',\n ];\n } else {\n return [\n 'd-none',\n ];\n }\n }\n\n collapseCompany(companyIndex: number, collapse: boolean) {\n if (collapse) {\n const index = this.unfoldedLists.indexOf(companyIndex, 0);\n if (index >= 0) {\n this.unfoldedLists.splice(index, 1);\n }\n } else if (!this.isExpanded(companyIndex)) {\n this.unfoldedLists.push(companyIndex);\n }\n }\n\n @Watch('companies')\n companiesChanged() {\n this.unfoldedLists = [];\n }\n\n isExpanded(index: number) {\n return this.unfoldedLists.includes(index);\n }\n\n isOnCompanyList(company: Company): boolean {\n return this.$vmx.companyList.isInCompanyList(company);\n }\n\n\n noteDeleted(id: number) {\n const company = this.companies.find((company) => {\n return company.id === this.selectedNote.companyId;\n });\n company.notes.splice(\n company.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n\n noteId(id: number) {\n return `note-list-company-${id}`;\n }\n\n noteSaved(note: Note) {\n const company = this.companies.find((company) => {\n return company.id === this.selectedNote.companyId;\n });\n if (company.notes.some((x) => x.id === note.id)) {\n company.notes = company.notes.map((obj) =>\n obj.id === note.id ? note : obj,\n );\n } else {\n company.notes.push(note);\n company.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n openCompanyListAddModal(company: Company) {\n this.$vmx.modal.openCompanyListAddModal(company);\n }\n\n openDeleteNoteModal(id: number) {\n for (const company of this.companies) {\n const note = company.notes.find((note) => note.id == id);\n if (note) {\n this.selectedNote = note;\n this.openModal(`delete-${this.noteId(company.id)}`);\n }\n }\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n public resizeHandler() {\n if (this.tableContainer) {\n this.tableSize = this.tableContainer.clientWidth;\n }\n }\n\n roundedAtSize(maxSize: number) {\n return [\n this.tableSize <= maxSize ? 'rounded-start' : '',\n ]\n }\n\n rowClasses(roleCount: number, index: number) {\n return [\n roleCount !== 0 ? 'border-bottom rounded-top' : 'rounded',\n ]\n }\n\n routerLink(id: number): Location {\n return {\n name: RouterNames.LOGGED_IN_COMPANY_VIEW,\n params: { id: id.toString() },\n };\n }\n\n showAtSize(minSize: number) {\n return [\n this.tableSize < minSize ? 'd-none' : '',\n ];\n }\n}\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';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { companyListService } from '@/services/restapi/company-list-service';\nimport Error401 from '@/components/error-components/error-401.vue';\nimport SearchInput from '@/components/form-fields/search-input.vue';\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\n\n@Component({\n components: {\n Error401,\n SearchInput,\n TableCompanyList,\n },\n})\nexport default class CompanyListView extends Vue {\n @Prop({ required: true }) id: number;\n\n companies: Company[] = [];\n filterText = '';\n loading = true;\n error = false;\n\n mounted() {\n this.loading = true;\n this.$vmx.companyList.fetchCompanyLists().then(() => {\n this.updateCompanies().finally(() => {\n this.loading = false;\n })\n });\n }\n\n get companyList(): CompanyList {\n return this.$vmx.companyList.companyListById(this.id);\n }\n\n get filteredCompanies(): Company[] {\n return this.companies.filter(company =>\n company.companyName.toLowerCase().includes(this.filterText.toLowerCase()),\n );\n }\n\n get title() {\n if (this.companyList?.paUserIds?.length > 1) {\n return `${(this.$t('general.shared') as string).toUpperCase()} - ${this.companyList.name}`;\n }\n return this.companyList?.name;\n }\n\n @Watch('companyList')\n async updateCompanies() {\n if (this.companyList != null) {\n try {\n this.companies = await companyListService.getCompanyListItems(this.companyList.id);\n this.error = false;\n } catch (error) {\n this.error = true;\n }\n }\n }\n\n openCompanyListSettingsModal() {\n this.$vmx.modal.openCompayListSettingsModal({ companyList: this.companyList });\n }\n\n}\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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Contact } from '@/interfaces/contact';\n\nconst api = '/contacts';\n\nexport class ContactPersonService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getContactPersonById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n\n public getContactsForCompany =async (companyId: number): Promise => {\n const respose = await this.get(`${api}/forCompany/${companyId}`);\n return this.getResponse(respose);\n }\n}\n\nexport const contactPersonService = new ContactPersonService(apiConfig);\n","import { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Company } from '@/interfaces/company';\nimport CompanyProjectsList from '@/components/company-list-components/company-projects-list.vue';\nimport { companyService } from '@/services/restapi/company-service';\nimport { Contact } from '@/interfaces/contact';\nimport { contactPersonService } from '@/services/restapi/contact-person-service';\nimport DropdownIconBar from '@/components/dropdowns/dropdown-icon-bar.vue';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport Error401 from '@/components/error-components/error-401.vue';\nimport { Modal } from 'bootstrap';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport { Note } from '@/interfaces/note';\nimport NoteList from '@/components/general-components/note-list.vue';\nimport { Tip } from '@/interfaces/tip';\n\n@Component({\n components: {\n CompanyProjectsList,\n DropdownIconBar,\n DropdownOrderBy,\n Error401,\n ModalNoteEdit,\n ModalNoteDelete,\n NoteList,\n },\n})\nexport default class CompanyView extends Vue {\n @Prop() private id: number;\n loading = true;\n company: Company = null;\n contacts: Contact[] = null;\n getImageFromFile = this.$vmx.file.imageFromFile;\n errorCode: number = null;\n contactError: number = null;\n selectedContact: Contact = null;\n selectedNote: Note = null;\n\n mounted() {\n this.loadCompany();\n this.loadContacts();\n }\n\n get isOnCompanyList(): boolean {\n return this.$vmx.companyList.isInCompanyList(this.company);\n }\n\n get noteId(): string {\n return 'note-list';\n }\n\n get hasSomeBasicInfo(): boolean {\n return !!this.company.file\n || !!this.company.description\n || !!this.company.address\n || !!this.company.mail\n || !!this.company.link\n || !!this.company.phone;\n }\n\n loadCompany() {\n this.loading = true;\n companyService.getCompanyById(this.id)\n .then(\n (company) => {\n this.company = company;\n document.title = company.companyName;\n },\n (error) => {\n this.errorCode = error;\n },\n )\n .finally(() => {\n this.$nextTick(() => {\n this.loading = false;\n })\n });\n }\n\n loadContacts() {\n contactPersonService.getContactsForCompany(this.id)\n .then(\n (contacts) => {\n this.contacts = contacts\n },\n (error) => {\n this.contactError = error;\n },\n );\n }\n\n noteSaved(note: Note) {\n if (this.company.notes.some((x) => x.id === note.id)) {\n this.company.notes = this.company.notes.map((obj) => (obj.id === note.id ? note : obj));\n } else {\n this.company.notes.push(note);\n this.company.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n noteDeleted(id: number) {\n this.company.notes.splice(\n this.company.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n\n openCompanyListAddModal() {\n this.$vmx.modal.openCompanyListAddModal(this.company);\n }\n\n openDeleteNoteModal(id: number) {\n this.selectedNote = this.company.notes.find((note) => note.id == id);\n this.openModal(`delete-${this.noteId}`);\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n openTipModal(contact: Contact) {\n const user = this.$vmx.user.user;\n const tip: Tip = {\n contactId: contact.id,\n paUserId: user.id,\n name: user.name,\n email: user.mail,\n phone: user.phone,\n description: null,\n }\n this.$vmx.modal.openTipModal(tip);\n }\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 [_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('components.companyAgentsOverview.title'))+\" \")]),_c('div',[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"plus\",\"type\":\"fal\",\"size\":\"sm\",\"tool-tip-text\":_vm.$t('components.companyAgentsOverview.createNewTooltip')},on:{\"click\":function($event){return _vm.createCompanyAgentClick()}}})],1)])]},proxy:true}],null,false,3023076329)},[(_vm.companyAgentsLoaded)?_c('div',[(_vm.hasCompanyAgents)?_c('CompanyAgentsOverview'):_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('components.companyAgentsOverview.noCompanyAgents.text'))+\" \")]),_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.createCompanyAgentClick()}}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['fal', 'search'],\"size\":\"lg\"}}),_vm._v(\" \"+_vm._s(_vm.$t('components.companyAgentsOverview.noCompanyAgents.buttonText'))+\" \")],1)],1)])],1):_c('BaseLoadingSpinner')],1)],1):_vm._e(),(_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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class AgentCountField extends Vue {\n @Prop({ default: null }) value: number;\n}\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\nimport { Component, VModel, Vue } from 'vue-property-decorator';\nimport { MailTime } from '@/interfaces/enums/mail-time';\n\n\n@Component\nexport default class FormMailTime extends Vue {\n @VModel() mailTime: MailTime;\n}\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\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport { Agent } from '@/interfaces/agent';\nimport BaseInputField from '../form-fields/base-input-field.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n FormMailTime,\n },\n})\nexport default class ModalAgentSettings extends Vue {\n // @Prop({ required: true }) modalId: string;\n // @Prop({ required: true }) agent: Agent;\n @Ref() agentName: BaseInputField;\n\n agentCopy: Agent = null;\n users: User[] = [];\n selectedUsers: User[] = this.$vmx.user.colleagues;\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.agent) {\n this.hideModal();\n return;\n }\n this.agentCopy = {...this.agent};\n this.setUsers();\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n get modalId(): string {\n return ModalIds.AGENT_SETTINGS_MODAL;\n }\n\n get agent(): Agent {\n return this.$vmx.modal.agent;\n }\n\n get formIsValid() {\n return this.agentName.validate() && this.selectedUsers.length > 0;\n }\n\n get validAgentName(): boolean {\n return this.agentCopy.name.trim().length >= 1 && this.agentCopy.name.trim().length <= 100;\n }\n\n get buttonRowClasses() {\n return [\n `justify-content-${this.agentCopy.id ? 'between' : 'end'}`,\n ];\n }\n\n private setUsers() {\n const user = this.$vmx.user.user as User;\n this.users = this.$vmx.user.colleagues;\n if (this.agentCopy.id) {\n this.selectedUsers = this.users.filter(u => this.agentCopy.paUserIds.some(userId => userId === u.id));\n } else {\n this.selectedUsers = [user];\n }\n }\n\n @Watch('selectedUsers')\n selectedUsersChanged() {\n this.agentCopy.paUserIds = this.selectedUsers.map(u => u.id);\n }\n\n async submit() {\n if (this.formIsValid) {\n try {\n this.submitting = true;\n // const newAgent = await this.$vmx.agent.pushAgent(this.agentCopy);\n const newAgent = await this.$vmx.agent.pushAgent(this.agentCopy);\n\n const saveAgent = { ...this.agentCopy, id: newAgent.id }\n\n if (this.$route.name === RouterNames.LOGGED_IN_SEARCH) {\n this.$vmx.search.setAgent(saveAgent);\n }\n this.error = false;\n this.submitting = false;\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n openAgentDeleteModal() {\n this.$vmx.modal.openAgentDeleteModal(this.agent);\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Agent } from '@/interfaces/agent';\nimport AgentCountField from '@/components/dashboard-components/agent-count-field.vue';\nimport { agentService } from '@/services/restapi/agent-service';\nimport { AgentStatistics } from '@/interfaces/agent-statistics';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component({\n components: {\n AgentCountField,\n ModalAgentSettings,\n },\n})\nexport default class AgentsOverview extends Vue {\n @Prop({ default: 5 }) limit: number;\n showAll = false;\n statisticsData: AgentStatistics[] = null;\n\n created() {\n agentService.agentStatistics().then(statistics => this.statisticsData = statistics);\n }\n\n get agents() {\n return this.$vmx.agent.agents;\n }\n\n get limitedAgents() {\n return this.showAll ? this.agents : this.agents.slice(0, this.limit);\n }\n \n get lineClasses() {\n return [\n 'border-bottom',\n 'border-trademark-25',\n ]\n }\n\n openAgentSettingsModal(agent: Agent) {\n this.$vmx.modal.openAgentSettingsModal(agent);\n }\n\n searchWithAgent(agent: Agent) {\n this.$vmx.search.setAgent(agent);\n this.$router.push({ name: RouterNames.LOGGED_IN_SEARCH, params: { page: '1' } });\n }\n\n getStatistics(agent: Agent): AgentStatistics {\n if (this.statisticsData == null) {\n return { agentId: agent.id, searchCount: null, dailyCount: null, monthlyCount: null };\n }\n\n const stats = this.statisticsData.filter(stat => stat.agentId === agent.id)[0] ?? null;\n\n if (stats == null) {\n return { agentId: agent.id, searchCount: null, dailyCount: null, monthlyCount: null };\n }\n\n return stats;\n }\n}\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport { ArticleLink } from '@/interfaces/article-link';\nimport { File } from '@/interfaces/file';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\n\n/*\n We handle clicks in this card differently to support horizontal drag\n*/\n@Component\nexport default class ArticleCard extends Vue {\n @Prop({required: true}) article: ArticleLink;\n @Ref() imageContainer: HTMLElement;\n private getFromFile = this.$vmx.file.fromFile;\n allowClick = false;\n loading = true;\n\n mounted() {\n this.loading = false;\n }\n\n get imageStyles() {\n if (!this.loading && this.article && this.article.coverImage) {\n return {\n 'max-height': `${Math.round(this.imageContainer.clientWidth / 1.6)}px`,\n };\n }\n return null;\n }\n\n public articleClicked(article: ArticleLink) {\n if (this.allowClick) {\n window.open(`${article.hostDomain}/article/view/${article.id}`);\n }\n }\n\n public blockSlowClicks() {\n this.allowClick = true;\n globalFunctions.timeout(100).then(() => { this.allowClick = false; })\n }\n\n public formatDate(date: string, format: string): string {\n return formatUtils.formatDate(date, format);\n }\n\n public imageFromFile(file: File) {\n if (file) {\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\n } else {\n return this.getFromFile(undefined);\n }\n }\n}\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-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.companyAgentsOverview.nameColumn'))+\" \")]),_c('th',{staticClass:\"text-center\",attrs:{\"scope\":\"col\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyAgentsOverview.allColumn'))+\" \")]),_c('th',{staticClass:\"text-center d-none d-sm-table-cell\",attrs:{\"colspan\":\"2\",\"scope\":\"colgroup\"}},[_vm._v(\" \"+_vm._s(_vm.$t('components.companyAgentsOverview.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.companyAgentsOverview.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.companyAgentsOverview.days', 1))+\" \")])]),_c('th',{attrs:{\"scope\":\"col\"}})])]),_c('tbody',_vm._l((_vm.limitedCompanyAgents),function(companyAgent,index){return _c('tr',{key:companyAgent.id,staticClass:\"clickable\",class:index < _vm.limitedCompanyAgents.length - 1 ? _vm.lineClasses : [],on:{\"click\":function($event){return _vm.searchWithCompanyAgent(companyAgent)}}},[_c('td',[_c('div',{staticClass:\"ps-2 two-lines-then-elipsis text-primary\"},[_vm._v(\" \"+_vm._s(companyAgent.name)+\" \"),(companyAgent.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:\"d-flex flex-row justify-content-center align-items-center\"},[_c('CompanyAgentCountField',{attrs:{\"company-agent\":companyAgent}})],1)]),_c('td',{staticClass:\"d-none d-sm-table-cell\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center align-items-center\"},[_c('CompanyAgentCountField',{attrs:{\"company-agent\":companyAgent,\"max-days-old\":30}})],1)]),_c('td',{staticClass:\"d-none d-sm-table-cell\"},[_c('div',{staticClass:\"d-flex flex-row justify-content-center align-items-center\"},[_c('CompanyAgentCountField',{attrs:{\"company-agent\":companyAgent,\"max-days-old\":1}})],1)]),_c('td',{on:{\"click\":function($event){$event.stopPropagation();if($event.target !== $event.currentTarget){ return null; }return _vm.searchWithCompanyAgent(companyAgent)}}},[_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.searchWithCompanyAgent(companyAgent)}}},[_c('BaseButtonIcon',{attrs:{\"icon-name\":\"cog\",\"size\":\"sm\",\"icon-size\":\"sm\",\"tool-tip-text\":_vm.$t('components.companyAgentsOverview.settingsTooltip')},on:{\"click\":function($event){return _vm.openCompanyAgentSettingsModal(companyAgent)}}})],1)])])}),0)]),(_vm.companyAgents.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._v(\" \"+_vm._s(_vm.amountOfResults)+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { companyService } from '@/services/restapi/company-service';\n\n@Component\nexport default class CompanyAgentCountField extends Vue {\n @Prop({ required: true }) companyAgent: CompanyAgent;\n @Prop({ default: null }) maxDaysOld: number;\n amountOfResults = 0;\n\n created() {\n companyService.searchCompanyCount(this.companyAgent, this.maxDaysOld).then((count) => this.amountOfResults = count);\n }\n}\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-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!./company-agent-count-field.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-agent-count-field.vue?vue&type=template&id=d66bd968&scoped=true&\"\nimport script from \"./company-agent-count-field.vue?vue&type=script&lang=ts&\"\nexport * from \"./company-agent-count-field.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./company-agent-count-field.vue?vue&type=style&index=0&id=d66bd968&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 \"d66bd968\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport CompanyAgentCountField from '@/components/dashboard-components/company-agent-count-field.vue';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component({\n components: {\n CompanyAgentCountField,\n ModalAgentSettings,\n },\n})\nexport default class CompanyAgentsOverview extends Vue {\n @Prop({ default: 5 }) limit: number;\n showAll = false;\n\n get companyAgents(): CompanyAgent[] {\n return this.$vmx.companyAgent.companyAgents;\n }\n\n get limitedCompanyAgents(): CompanyAgent[] {\n return this.showAll ? this.companyAgents : this.companyAgents.slice(0, this.limit);\n }\n\n get lineClasses() {\n return [\n 'border-bottom',\n 'border-trademark-25',\n ]\n }\n\n openModal(id: number) {\n this.$bvModal.show(`agent-settings-modal-${id}`);\n }\n\n searchWithCompanyAgent(companyAgent: CompanyAgent) {\n this.$vmx.searchCompany.setCompanyAgent(companyAgent);\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_SEARCH, params: { page: '1' } });\n }\n\n openCompanyAgentSettingsModal(companyAgent: CompanyAgent) {\n this.$vmx.modal.openCompanyAgentSettingsModal(companyAgent);\n }\n}\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-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!./company-agents-overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./company-agents-overview.vue?vue&type=template&id=ea02aa7e&scoped=true&\"\nimport script from \"./company-agents-overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./company-agents-overview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./company-agents-overview.vue?vue&type=style&index=0&id=ea02aa7e&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 \"ea02aa7e\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component\nexport default class CompanyListsOverview extends Vue {\n @Prop({ default: 5 }) limit: number;\n showAll = false;\n\n get companyLists(): CompanyList[] {\n return this.$vmx.companyList.companyLists;\n }\n\n get limitedCompanyLists(): CompanyList[] {\n return this.showAll ? this.companyLists : this.companyLists.slice(0, this.limit);\n }\n\n get lineClasses() {\n return [\n 'border-bottom',\n 'border-trademark-25',\n ]\n }\n\n openCompanyListSettingsModal(companyList: CompanyList) {\n this.$vmx.modal.openCompayListSettingsModal({ companyList: companyList });\n }\n\n openCompanyListPage(companyList: CompanyList) {\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW, params: { id: companyList.id.toString() } });\n }\n}\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\n\nimport 'scroll-shadow-element';\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport { globalFunctions } from '@/util/global-functions';\n\n@Component\nexport default class HorizontalDraggable extends Vue {\n @Ref() slider: HTMLElement;\n @Ref() leftPaddle: HTMLElement;\n @Ref() rightPaddle: HTMLElement;\n @Prop({default: false, type: Boolean}) hiddenScrollbar: boolean;\n @Prop({default: false, type: Boolean}) noLeftShadow: boolean;\n @Prop({ default: true }) grab: boolean;\n sliderDown = false;\n public dragging = false;\n startX: number;\n scrollLeft: number;\n\n mounted() {\n this.addSliderEventListeners();\n window.addEventListener('resize', this.resizeHandler);\n this.displayPaddles(this.slider.scrollLeft);\n }\n\n addSliderEventListeners() {\n this.slider.addEventListener('mousedown', (e) => {\n if (e.offsetY > this.slider.clientHeight) {\n return;\n }\n this.sliderDown = true;\n this.startX = e.pageX - this.slider.offsetLeft;\n this.scrollLeft = this.slider.scrollLeft;\n this.slider.classList.add('active');\n });\n\n this.slider.addEventListener('mouseleave', () => {\n globalFunctions.timeout(50).then(() => {\n this.sliderDown = false;\n this.toggleDragging(false);\n this.slider.classList.remove('active');\n });\n });\n\n this.slider.addEventListener('mouseup', () => {\n globalFunctions.timeout(50).then(() => {\n this.sliderDown = false;\n this.toggleDragging(false);\n this.slider.classList.remove('active');\n this.displayPaddles(this.slider.scrollLeft);\n });\n });\n\n this.slider.addEventListener('mousemove', (e) => {\n if (!this.sliderDown) {\n return;\n }\n if (!this.dragging) {\n this.toggleDragging(true);\n }\n e.preventDefault();\n const x = e.pageX - this.slider.offsetLeft;\n const walk = x - this.startX;\n this.slider.scrollLeft = this.scrollLeft - walk;\n });\n }\n\n private toggleDragging(isDragging: boolean) {\n this.dragging = isDragging;\n this.$emit('dragging', isDragging);\n }\n\n public resizeHandler() {\n if (this.slider) {\n this.displayPaddles(this.slider.scrollLeft)\n }\n }\n\n get styleClasses() {\n return [\n this.grab ? 'grabbable' : '',\n this.hiddenScrollbar ? 'hidden-scrollbar' : '',\n ];\n }\n\n paddleClicked(isLeft: boolean) {\n const startX = this.slider.scrollLeft;\n let scrollX = startX + (isLeft ? -1 : 1) * 500;\n scrollX = scrollX < 0 ? 0 : scrollX;\n this.slider.scroll({\n left: scrollX,\n behavior: 'smooth',\n });\n\n this.displayPaddles(scrollX);\n }\n\n displayPaddles(scrollX: number) {\n if (scrollX <= 0) {\n if (!this.leftPaddle.classList.contains('d-none')) {\n this.leftPaddle.classList.add('d-none');\n }\n } else {\n this.leftPaddle.classList.remove('d-none');\n }\n\n const scrollEnd = this.slider.scrollWidth - this.slider.clientWidth;\n if (scrollX >= scrollEnd) {\n if (!this.rightPaddle.classList.contains('d-none')) {\n this.rightPaddle.classList.add('d-none');\n }\n } else {\n this.rightPaddle.classList.remove('d-none');\n }\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseLoadingSpinner extends Vue {\n @Prop( { default: 'Loading...'}) private label: string;\n @Prop( { default: '2rem'}) private size: string;\n @Prop( {default: '.25 rem'}) private borderSize: string;\n @Prop( {\n type: String,\n default: 'primary',\n })\n private color: string;\n\n get sizeStyle() {\n return {\n width: this.size,\n height: this.size,\n 'border-width': this.borderSize,\n };\n }\n\n get styleClass() {\n return [\n `text-${this.color}`,\n ]\n }\n\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue'\nimport { Update } from '@/interfaces/update';\nimport UpdateList from '@/components/general-components/update-list.vue';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component({\n components: {\n UpdateList,\n BaseLoadingSpinner,\n },\n})\nexport default class DropdownActivitylog extends Vue {\n @Prop({ required: true }) listId: number;\n @Prop({ default: 'activitylog-dropdown' }) id: string;\n @Prop({ default: 'sm' }) size: string;\n @Prop({ default: 'sm' }) iconSize: string;\n @Prop({ default: 'bell' }) iconName: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) showBadge: boolean;\n @Prop({ default: null }) onClick?: (type: string) => void;\n @Prop({ default: null }) label: string;\n\n activityLogs: ActivityLog[] = null;\n fetching = false;\n\n get loading() {\n return this.activityLogs == null;\n }\n\n get hasProduct(): boolean {\n return this.$vmx.user.hasProduct;\n }\n\n buttonClick() {\n if (this.hasProduct) {\n this.loadActivities();\n } else {\n this.$vmx.modal.openPaywallModal();\n }\n }\n\n loadActivities() {\n if (this.fetching || !this.hasProduct) {\n return;\n }\n\n this.fetching = true;\n\n updateService.getActivityLogsFromListId(this.listId).then(activityLogs => {\n this.activityLogs = activityLogs;\n console.log(this.activityLogs)\n });\n }\n}\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=3738bcc8&\"\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\nimport * as domainUtils from '@/util/domain-utils';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { ActivityLog } from '@/interfaces/non-entities/activity-log';\nimport { dateUtils } from '@/util/date-utils';\nimport DropdownActivitylog from '@/components/dropdowns/dropdown-activitylog.vue'\nimport DropdownUpdates from '@/components/dropdowns/dropdown-updates.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { listService } from '@/services/restapi/list-service';\nimport moment from 'moment-timezone';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport { RouterNames } from '@/util/enums/router-names';\nimport UpdateList from '@/components/general-components/update-list.vue'\n\n@Component({\n components: {\n UpdateList,\n DropdownUpdates,\n DropdownActivitylog,\n },\n})\nexport default class ListsOverview extends Vue {\n @Prop({ default: 5 }) limit: number;\n showAll = false;\n\n mounted() {\n\n }\n\n get lists(): List[] {\n return this.$vmx.list.lists;\n }\n\n get limitedLists(): List[] {\n return this.showAll ? this.lists : this.lists.slice(0, this.limit);\n }\n\n get lineClasses() {\n return [\n 'border-bottom',\n 'border-trademark-25',\n ]\n }\n\n getBudgetString(budgetSum: number): string {\n if (budgetSum) {\n return this.$n(budgetSum, 'currency', domainUtils.domain.numberFormat);\n }\n return this.$t('general.emptyField') as string;\n }\n\n getLogsInList(list: List): ActivityLog[] {\n return []; // TODO\n\n // let items: ActivityLog[] = [];\n // \n //\n // items.push(...list.procurements);\n // items.push(...list.projects);\n //\n // items = items.sort((item1, item2) => {\n // if(!item1.updates || item1.updates.length <= 0) {\n // return 1;\n // }\n // if (!item2.updates || item2.updates.length <= 0) {\n // return -1;\n // }\n // let newestDate1: string = item1.updates.reduce((prev, curr) => {\n // return moment(curr.created).isAfter(moment(prev.created)) ? curr : prev;\n // }).created;\n // let newestDate2: string = item2.updates.reduce((prev, curr) => {\n // return moment(curr.created).isAfter(moment(prev.created)) ? curr : prev;\n // }).created;\n // return moment(newestDate1).isAfter(moment(newestDate2)) ? -1 : 1;\n // });\n //\n // return items;\n }\n\n createRouterLocation(item: (Project | Procurement)) {\n if (globalFunctions.isProcurement(item)) {\n return {name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW, params: {id: item.id.toString()}};\n } else {\n return {name: RouterNames.PRINT_PROJECT, params: {id: item.id.toString()}};\n }\n }\n\n listHasUnseenNotifications(list: List): boolean {\n return dateUtils.isDateStringAfter(list.lastUpdated, list.lastSeen);\n }\n\n updateSeenForList(id: number) {\n listService.setListSeen(id).then((list) => {\n this.lists[this.lists.findIndex(x => x.id === id)].lastSeen = list.lastSeen;\n })\n }\n\n openListSettingsModal(list: List) {\n this.$vmx.modal.openListSettingsModal({list});\n }\n\n openListPage(list: List) {\n this.$router.push({ name: RouterNames.LOGGED_IN_LIST_VIEW, params: { id: list.id.toString() } });\n }\n\n openViewFromActivityLog(log: ActivityLog) {\n if (log) {\n this.$router.push({\n name: log.isProcurement ? RouterNames.LOGGED_IN_PROCUREMENT_VIEW : RouterNames.LOGGED_IN_PROJECT_VIEW,\n params: { id: log.id.toString() },\n })\n }\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { File } from '@/interfaces/file';\nimport { ProjectReference } from '@/interfaces/project-reference';\nimport { RouterNames } from '@/util/enums/router-names';\n\n/*\n We handle clicks in this card differently to support horizontal drag\n*/\n@Component\nexport default class ProjectReferenceCard extends Vue {\n @Prop({required: true}) project: ProjectReference;\n private getFromFile = this.$vmx.file.fromFile;\n\n readonly routeProjectView = RouterNames.LOGGED_IN_PROJECT_VIEW\n\n\n get criterionTypeData() {\n return this.project.criteria ?? [];\n }\n\n public imageFromFile(file: File) {\n if (file) {\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\n } else {\n return this.getFromFile(undefined);\n }\n }\n\n}\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';\nimport AgentsOverview from '@/components/dashboard-components/agents-overview.vue';\nimport ArticleCard from '@/components/cards/article-card.vue';\nimport { ArticleLink } from '@/interfaces/article-link';\nimport CompanyAgentsOverview from '@/components/dashboard-components/company-agents-overview.vue';\nimport CompanyListsOverview from '@/components/dashboard-components/company-lists-overview.vue';\nimport { dateUtils } from '@/util/date-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport HorizontalDraggable from '@/components/draggables/horizontal-draggable.vue';\nimport { listService } from '@/services/restapi/list-service';\nimport ListsOverview from '@/components/dashboard-components/lists-overview.vue';\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\nimport { RouterNames } from '@/util/enums/router-names';\n\n@Component({\n components: {\n AgentsOverview,\n ArticleCard,\n CompanyAgentsOverview,\n CompanyListsOverview,\n HorizontalDraggable,\n ListsOverview,\n ProjectReferenceCard,\n },\n})\nexport default class DashboardView extends Vue {\n @Ref() articleDraggable: HorizontalDraggable;\n private readonly RELATED_ARTICLES_AMOUNT = 10;\n relevantArticles: ArticleLink[] = [];\n smallWindow = false;\n\n openSearchDropDown() {\n this.$root.$emit('show_search_box');\n }\n\n created() {\n listService\n .findRelevantArticles(this.RELATED_ARTICLES_AMOUNT)\n .then((articles: ArticleLink[]) => {\n this.relevantArticles = articles;\n this.relevantArticles.sort((x, y) => {\n return dateUtils.isDateStringAfter(x.created, y.created)\n ? -1 : dateUtils.isDateStringAfter(y.created, x.created)\n ? 1 : 0;\n });\n });\n }\n\n mounted() {\n this.smallWindow = window.innerWidth < 1200;\n window.addEventListener('resize', this.resizeHandler);\n }\n\n get agentsLoaded(): boolean {\n return this.$vmx.agent.agentsLoaded;\n }\n\n get companyAgentsLoaded(): boolean {\n return this.$vmx.companyAgent.companyAgentsLoaded;\n }\n\n get companyListsLoaded(): boolean {\n return this.$vmx.companyList.companyListsLoaded;\n }\n\n get hasAgents() {\n const agents = this.$vmx.agent.agents;\n return agents && agents.length > 0;\n }\n\n get hasCompanyAgents() {\n const companyAgents = this.$vmx.companyAgent.companyAgents;\n return companyAgents && companyAgents.length > 0;\n }\n\n get hasCompanyLists() {\n const companyLists = this.$vmx.companyList.companyLists;\n return companyLists != null && companyLists.length > 0;\n }\n\n get hasLists() {\n const lists = this.$vmx.list.lists;\n return lists != null && lists.length > 0;\n }\n\n get listsLoaded(): boolean {\n return this.$vmx.list.listsLoaded as boolean;\n }\n\n public getDraggableClasses(index: number, length: number) {\n return [\n { 'ps-0': index === 0 },\n { 'pe-0': index === length - 1 },\n { 'col-12': length === 1 },\n { 'col-10 col-sm-7 col-lg-5 col-xxl-3': length >= 1 },\n ];\n }\n\n resizeHandler() {\n if (window.innerWidth < 1200) {\n if (!this.smallWindow) {\n this.smallWindow = true;\n globalFunctions.timeout(50).then(() => {\n this.articleDraggable.resizeHandler();\n });\n }\n } else {\n this.smallWindow = false;\n }\n }\n\n createAgentClick() {\n this.$vmx.search.clearAgent();\n this.$router.push({\n name: RouterNames.LOGGED_IN_SEARCH,\n params: { page: '1' },\n });\n }\n\n createCompanyAgentClick() {\n this.$vmx.searchCompany.resetCompanyAgent();\n this.$router.push({\n name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\n params: { page: '1' },\n });\n }\n}\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=67954ffc&\"\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\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class Error404 extends Vue {\n}\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';\nimport Error404 from '@/components/error-components/error-404.vue';\nimport TheHeader from '@/components/headers/the-header.vue';\n\n@Component({\n components: {\n Error404,\n TheHeader,\n },\n})\nexport default class Error404View extends Vue {\n get isLoggedIn(): boolean {\n return this.$vmx.session.isLoggedIn;\n }\n}\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'),\"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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Notification } from '@/interfaces/notification';\n\nconst api = '/notifications';\n\nexport class NotificationService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getNotifications = async (isSeen: boolean): Promise => {\n let config = null;\n if (isSeen != null) {\n config = {\n params: {\n isSeen,\n },\n };\n }\n\n const response = await this.get(`${api}`, config);\n return this.getResponse(response);\n };\n\n public setAllSeen = async () => {\n const response = await this.put(`${api}/setAllSeen`);\n return this.getResponse(response);\n };\n\n}\n\nexport const notificationService = new NotificationService(apiConfig);\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseButton extends Vue {\n @Prop({ default: true }) withSpinner: boolean;\n @Prop() routerParams: Object;\n @Prop() styleClasses: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: '2' }) paddingY: string;\n @Prop({ default: '3' }) paddingX: string;\n @Prop({ default: false }) showBadge: boolean;\n @Prop() badgeText: string;\n @Prop({ default: 'danger'}) badgeColor: string;\n @Prop({ default: null }) onClickCb: () => Promise;\n @Prop({ default: 'button' }) type: 'button' | 'submit' | 'reset';\n @Prop() bsToggle: string;\n @Prop() bsDismiss: string;\n @Prop() bsTarget: string;\n @Prop() bsAutoClose: string;\n @Prop({ default: false }) isDropup: boolean;\n public isClicked = false;\n\n get styleClassObj() {\n return [\n `py-${this.paddingY}`,\n `px-${this.paddingX}`,\n `btn-${this.variant}`,\n this.styleClasses,\n ];\n }\n\n get dropdownClasses() {\n return {\n dropdown: this.bsToggle === 'dropdown' && !this.isDropup,\n dropup: this.bsToggle === 'dropdown' && this.isDropup,\n }\n }\n\n get badgeClasses() {\n return [\n 'position-absolute',\n 'top-0',\n 'start-100',\n 'translate-middle',\n 'badge',\n this.badgeText ? '' : 'p-2',\n this.badgeText ? 'rounded-pill' : 'rounded-circle',\n `bg-${this.badgeColor}`,\n this.sameColor ? 'border' : '',\n this.sameColor ? 'border-white' : '',\n ];\n }\n\n get sameColor() {\n return this.variant === this.badgeColor;\n }\n\n onClick() {\n if (!this.isClicked) {\n this.isClicked = true;\n this.$emit('click');\n if (this.onClickCb != null) {\n this.onClickCb().finally(() => this.isClicked = false);\n } else {\n this.isClicked = false;\n }\n }\n }\n\n public stopLoading() {\n this.isClicked = false;\n }\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseSidebar extends Vue {\n @VModel() active: boolean;\n @Prop({ default: true }) left: boolean;\n @Prop() styleClasses: string;\n @Prop({ default: true }) overlayClickable: boolean;\n\n get sidebarClasses() {\n return [\n this.left ? 's-navbar' : 'e-navbar',\n this.left ? 'ps-5' : 'pe-5',\n this.active ? 'active' : '',\n this.styleClasses,\n ];\n }\n\n overlayClicked() {\n if (this.overlayClickable) {\n this.toggleSidebar(false);\n }\n }\n\n public toggleSidebar(show: boolean) {\n this.active = show;\n }\n}\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\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\nimport BaseButton from '@/components/buttons/base-button.vue';\nimport BaseSidebar from '@/components/sidebars/base-sidebar.vue';\nimport { File } from '@/interfaces/file';\nimport { formatUtils } from '@/util/format-utils';\nimport { Notification } from '@/interfaces/notification';\nimport { notificationService } from '@/services/restapi/notification-service';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n BaseButton,\n BaseSidebar,\n },\n})\nexport default class NotificationSidebar extends Vue {\n @VModel() show: boolean;\n @Ref() checkButton: BaseButton;\n @Prop({ required: true }) notifications: Notification[];\n @Prop() styleClasses: string;\n @Prop({ default: true }) overlayClickable: boolean;\n @Prop() title: string;\n @Prop({ default: true }) updateOnClick: boolean;\n savingUser = false;\n selectedIndex = 0;\n private getFromFile = this.$vmx.file.fromFile;\n\n get showNotifications(): boolean {\n return (this.$vmx.user.user as User).showPopups;\n }\n\n set showNotifications(show: boolean) {\n const user: User = this.$vmx.user.user;\n user.showPopups = show;\n this.savingUser = true;\n this.$vmx.user.putUser(user).finally(() => this.savingUser = false);\n }\n\n formatDate(date: string) {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n\n fold(index: number) {\n this.selectedIndex = this.selectedIndex === index ? null : index;\n }\n\n async notificationsSeen() {\n if (this.updateOnClick) {\n await notificationService.setAllSeen();\n this.show = false;\n } else {\n this.show = false;\n }\n }\n\n imageFromFile(file: File) {\n if (file) {\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\n } else {\n return this.getFromFile(undefined);\n }\n }\n}\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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\n\nconst api = '/helpdesk';\n\nexport class HelpdeskService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getHelpdeskTabs = async (): Promise => {\n const response = await this.get(api);\n return this.getResponse(response);\n };\n}\n\nexport const helpdeskService = new HelpdeskService(apiConfig);\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Tooltip } from 'bootstrap';\n\nlet uid = 0;\n\n@Component\nexport default class BaseButtonIcon extends Vue {\n @Prop() buttonId: string;\n @Prop() routeParams: Object;\n @Prop() styleClasses: string;\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ required: true}) iconName: string;\n @Prop({ default: 'fal'}) type: string;\n @Prop({ default: 'md'}) size: string;\n @Prop({ default: 'xs'}) iconSize: string;\n @Prop({ default: false }) rounded: boolean;\n @Prop() label: string;\n @Prop() toolTipText: string;\n @Prop({ default: 'top'}) tooltipPlacement: 'auto' | 'top' | 'bottom' | 'left' | 'right';\n @Prop({ default: false }) showBadge: boolean;\n @Prop() badgeText: string;\n @Prop({ default: 'danger'}) badgeColor: string;\n @Prop({ default: null }) onClickCb: () => Promise;\n @Prop() bsToggle: string;\n @Prop() bsDismiss: string;\n @Prop() bsTarget: string;\n @Prop() bsAutoClose: string;\n @Prop({ default: false }) isDropup: boolean;\n public isClicked = false;\n\n mounted() {\n this.setTooltip();\n }\n\n activated() {\n this.setTooltip();\n }\n\n setTooltip() {\n this.$nextTick(() => {\n const popperElement = document.getElementById(`tooltip-${this.uid}`);\n if (popperElement) {\n new Tooltip(popperElement, {\n placement: this.tooltipPlacement,\n trigger: 'hover',\n });\n }\n })\n }\n\n get uid(): string {\n if (!this.buttonId) {\n uid += 1;\n return 'icon-button-' + uid;\n }\n return this.buttonId;\n }\n\n get styleClassObj() {\n return [\n `icon-class-${this.size}`,\n !this.rounded ? 'circle' : '',\n `btn-${this.variant}`,\n this.styleClasses,\n // this.bsToggle === 'dropdown' ? 'dropdown-toggle' : '',\n ];\n }\n\n get dropdownClasses() {\n return {\n dropdown: this.bsToggle === 'dropdown' && !this.isDropup,\n dropup: this.bsToggle === 'dropdown' && this.isDropup,\n }\n }\n\n get badgeClasses() {\n return [\n 'position-absolute',\n this.rounded ? ['top-0', 'start-100'] : 'position-90',\n 'translate-middle',\n 'badge',\n this.badgeText ? '' : 'p-2',\n this.badgeText ? 'rounded-pill' : 'rounded-circle',\n `bg-${this.badgeColor}`,\n this.sameColor ? 'border' : '',\n this.sameColor ? 'border-white' : '',\n ];\n }\n\n get sameColor() {\n return this.variant === this.badgeColor;\n }\n\n onClick() {\n if (!this.isClicked) {\n Tooltip.getInstance(document.getElementById(`tooltip-${this.uid}`))?.hide();\n this.isClicked = true;\n this.$emit('click');\n if (this.onClickCb != null) {\n this.onClickCb()?.finally(() => this.isClicked = false);\n } else {\n this.isClicked = false;\n }\n }\n }\n\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseButtonIcon from '@/components/buttons/base-button-icon.vue'\nimport { File } from '@/interfaces/file';\nimport { globalFunctions } from '@/util/global-functions';\nimport { HelpdeskPage } from '@/interfaces/help/helpdesk-page';\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\n\n@Component({\n components: { BaseButtonIcon },\n})\nexport default class UserGuideRow extends Vue {\n @Prop({ required: true }) tab: HelpdeskTab;\n @Prop({ required: true }) page: HelpdeskPage;\n @Prop({ default: false }) active: boolean;\n @Prop({ required: true }) setCurrentPage: (id: number) => void;\n\n loopHandler(ref: string) {\n globalFunctions.timeout(5000).then(() => {\n if ((this.$refs[ref] as HTMLVideoElement[]) && (this.$refs[ref] as HTMLVideoElement[])[0]) {\n (this.$refs[ref] as HTMLVideoElement[])[0].play();\n }\n });\n }\n\n imageFromFile(file: File) {\n const getFromFile = this.$vmx.file.fromFile;\n if (file) {\n return file.link ? file.link : getFromFile(`${file.code}.${file.extension}`);\n } else {\n return getFromFile(undefined);\n }\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport { helpdeskService } from '@/services/restapi/helpdesk-service';\nimport { HelpdeskTab } from '@/interfaces/help/helpdesk-tab';\nimport UserGuideRow from '@/components/help-components/user-guide-row.vue'\n\n@Component({\n components: {\n UserGuideRow,\n },\n})\nexport default class UserGuide extends Vue {\n tabsData: HelpdeskTab[] = null;\n loading = true;\n\n get tabs(): HelpdeskTab[] {\n if (this.tabsData != null) return this.tabsData;\n\n helpdeskService.getHelpdeskTabs().then((tabs) => {\n this.tabsData = tabs;\n this.tabsData.sort((x, y) => (x.index < y.index ? -1 : 1));\n this.loading = false;\n });\n return this.tabsData;\n }\n\n get currentTab(): HelpdeskTab {\n return this.tabs.filter(tab => tab.id.toString() == this.$route.query.tab)[0];\n }\n\n set currentTab(tab: HelpdeskTab) {\n if (this.$route.query.tab != null && this.$route.query.tab == tab.id.toString()) {\n return;\n }\n\n this.$router.push({\n query: { \n ...this.$route.query,\n page : [],\n tab : [ tab.id.toString() ],\n },\n })\n }\n\n isCurrentPage(id: number) {\n return this.$route.hash != null && this.$route.hash == `#page${id}`;\n }\n\n setCurrentPage(id: number) {\n if (this.$route.hash != null && this.$route.hash == `#page${id}`) {\n this.$router.push({\n hash : undefined,\n query : this.$route.query,\n })\n return;\n }\n\n this.$router.push({\n hash : `page${id}`,\n query : this.$route.query,\n })\n }\n}\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';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\nimport { Notification } from '@/interfaces/notification';\nimport { notificationService } from '@/services/restapi/notification-service';\nimport NotificationSidebar from '@/components/sidebars/notification-sidebar.vue';\nimport UserGuide from '@/components/help-components/user-guide.vue';\n\n@Component({\n components: {\n NotificationSidebar,\n UserGuide,\n FormBookDemo,\n },\n})\nexport default class HelpView extends Vue {\n notifications: Notification[] = null;\n showSidebar = false;\n\n openNotificationSidebar() {\n this.showSidebar = true;\n notificationService.getNotifications(null).then((notifications) => {\n notifications.sort((a, b) => a.created > b.created ? -1 : 1);\n this.notifications = notifications;\n });\n }\n}\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=9a68c20e&\"\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport { ResponseCodes } from '@/util/enums/response-codes';\n\n@Component({\n components: {\n AbstractForm,\n },\n})\nexport default class FormImpersonate extends Vue {\n @Prop({ required: true }) token: string;\n\n @Ref() inputUsername: BaseInputField;\n @Ref() inputPassword: BaseInputField;\n\n adminUsername = '';\n adminPassword = '';\n failedLogin = false;\n showError = false;\n\n get formIsValid() {\n let isValid = this.inputUsername.validate();\n isValid = this.inputPassword.validate() && isValid;\n return isValid;\n }\n\n async submit() {\n this.failedLogin = false;\n this.showError = false;\n if (!this.formIsValid) {\n return;\n }\n\n try {\n this.$vmx.session.impersonate({\n username: this.adminUsername,\n password: this.adminPassword,\n token: this.token,\n });\n } catch(error) {\n if (error === ResponseCodes.UNAUTHORIZED) {\n this.failedLogin = true;\n } else {\n this.showError = true;\n }\n }\n }\n}\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';\nimport FormImpersonate from '@/components/forms/form-impersonate.vue';\nimport TheHeader from '@/components/headers/the-header.vue';\n\n@Component({\n components: {\n FormImpersonate,\n TheHeader,\n },\n})\nexport default class ImpersonateView extends Vue {\n @Prop({ required: true }) token: string;\n\n getBackground(fileName: string) {\n return 'url(' + this.$vmx.file.fromFile('project-agent/backgrounds/' + fileName) + ')';\n }\n}\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'),\"mode\":\"customer\"}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\nimport FormLogin from '@/components/forms/form-login.vue';\nimport TheHeader from '@/components/headers/the-header.vue';\n\n\n@Component({\n components: {\n FormBookDemo,\n FormLogin,\n TheHeader,\n },\n})\nexport default class InvalidSessionView extends Vue {\n @Ref() contactContainer: HTMLDivElement;\n\n scrollToContact() {\n if (this.contactContainer) {\n this.contactContainer.scrollIntoView();\n }\n }\n}\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=1e297e94&\"\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\nimport * as blacklistUtil from '@/util/blacklist-utils';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport ListItemCard from '@/components/cards/list-item-card.vue';\nimport moment from 'moment';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport SearchInput from '@/components/form-fields/search-input.vue';\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\nimport { TranslateResult } from 'vue-i18n';\n\n@Component({\n components: {\n DropdownOrderBy,\n ListItemCard,\n SearchInput,\n SearchItemCard,\n SearchItemsListView,\n },\n})\nexport default class ListOverview extends Vue {\n @Prop({ required: true }) listItems: Array;\n @Prop({ default: null }) list: List;\n\n // Blacklist Props\n @Prop({ default: false }) showShowBlacklistButton: boolean;\n @Prop({ default: null }) onPersistBlacklist: (blacklist: Blacklist) => Promise;\n\n showBlacklists = false;\n\n listView = true;\n sortedList: Array = [];\n\n listItemsResult: Array = [];\n\n\n\n limit = 20;\n showMoreLimit = 20;\n\n mounted() {\n this.sort();\n }\n\n filterTextData = '';\n\n get filterText() {\n return this.filterTextData;\n }\n\n set filterText(val: string) {\n this.filterTextData = val;\n this.limit = this.showMoreLimit;\n }\n\n\n private orderByData: TranslateResult = null;\n\n public get orderBy(): TranslateResult {\n return this.orderByData;\n }\n\n public set orderBy(value: TranslateResult) {\n this.orderByData = value;\n this.limit = this.showMoreLimit;\n }\n\n private orderByDecendingData = true;\n\n public get orderByDescending() {\n return this.orderByDecendingData;\n }\n\n public set orderByDescending(value) {\n this.orderByDecendingData = value;\n this.limit = this.showMoreLimit;\n }\n\n created() {\n this.orderBy = this.sortingOptions[0][0];\n }\n\n get listItemsResultForCards() {\n return this.listItemsResult.splice(0, this.limit);\n }\n\n @Watch('listItems')\n @Watch('listView')\n @Watch('$vmx.blacklist.blacklists')\n @Watch('showBlacklists')\n sort() {\n this.listItemsResult = [...this.listItems]\n .filter(item => item.name.toLowerCase().includes(this.filterText.toLowerCase()))\n .filter((item) => {\n if (this.showBlacklists) {\n return true;\n } else {\n return !blacklistUtil.isItemInBlacklists(item, this.$vmx.blacklist.userBlacklists)\n }\n })\n .sort(this.sortingMethod)\n }\n\n sortingOptions: [TranslateResult, (a: Project | Procurement, b: Project | Procurement) => number][] = [\n [ this.$t('components.sorting.updated'), this.compareLatestUpdate ],\n [ this.$t('components.sorting.contractSum'), (a, b) => b.budget - a.budget ],\n [ this.$t('components.sorting.published'), (a, b) => moment(a.published).isBefore(moment(b.published)) ? 1 : -1 ],\n ]\n\n toggleShowBlacklist() {\n this.showBlacklists = !this.showBlacklists;\n this.limit = this.showMoreLimit;\n }\n\n get orderByDesc() {\n return this.orderByDescending ? 'desc' : 'asc'\n }\n\n set orderByDesc(val: string) {\n this.orderByDescending = val === 'desc';\n this.sort();\n }\n\n get sortingMethod(): (a: Project | Procurement, b: Project | Procurement) => number {\n let method: (a: Project | Procurement, b: Project | Procurement) => number;\n\n for (const [sortName, sortMethod] of this.sortingOptions) {\n if (this.orderBy.toString() === sortName) {\n method = sortMethod;\n }\n }\n return (a, b) => this.orderByDescending ? method(a, b) : method(b, a);\n }\n\n get viewType() {\n return this.listView ? 'list' : 'card';\n }\n\n set viewType(val: string) {\n this.listView = val === 'list';\n this.limit = this.showMoreLimit;\n }\n\n addToLimit() {\n this.limit = this.limit + this.showMoreLimit;\n }\n\n get showAddtoLimit(): boolean {\n return this.limit <= this.listItemsResult.length;\n }\n\n removeFromList(list: Array, blacklistItem: Blacklist) {\n if (blacklistItem.procurementId != null) {\n list.splice(\n list.findIndex((item) => item.id == blacklistItem.procurementId),\n 1,\n );\n } else if (blacklistItem.projectId != null) {\n list.splice(\n list.findIndex((item) => item.id == blacklistItem.projectId),\n 1,\n );\n }\n }\n\n isProcurement(item: Project | Procurement) {\n return globalFunctions.isProcurement(item);\n }\n\n compareLatestUpdate(a: Procurement | Project, b: Procurement | Project) {\n if (!a.lastUpdateDate) return 1;\n if (!b.lastUpdateDate) return -1;\n return moment(a.lastUpdateDate).isAfter(moment(b.lastUpdateDate)) ? -1 : 1;\n }\n\n}\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';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { blacklistService } from '@/services/restapi/blacklist-service';\nimport { List } from '@/interfaces/list';\nimport ListOverview from '@/components/list-components/list-overview.vue';\nimport { listService } from '@/services/restapi/list-service';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport { Watch } from 'vue-slider-component/node_modules/vue-property-decorator';\n\n@Component({\n components: {\n ListOverview,\n },\n})\nexport default class ListView extends Vue {\n @Prop({ required: true }) id: number;\n\n blacklists: Blacklist[] = null;\n listItems: (Project | Procurement)[] = null;\n\n showAllBlacklisted = false;\n\n loading = true;\n error = false;\n\n mounted() {\n this.loading = true;\n this.$vmx.list.fetchLists().then(() => {\n blacklistService.getBlacklists().then((blacklists) => {\n this.blacklists = blacklists.filter((blacklist) => blacklist.userIsOnList);\n this.updateListItems().finally(() => {\n this.loading = false;\n });\n });\n });\n }\n\n get list(): List {\n return this.$vmx.list.listById(this.id);\n }\n\n @Watch('list')\n @Watch('blacklists')\n @Watch('$vmx.modal.lastNoteUpdate')\n async updateListItems() {\n if (this.list != null) {\n try {\n this.listItems = await listService.getListItems(this.list.id);\n this.error = false;\n } catch (error) {\n this.error = true;\n }\n }\n }\n\n get title() {\n if (this.list?.paUserIds?.length > 1) {\n return `${(this.$t('general.shared') as string).toUpperCase()} - ${this.list.name}`;\n }\n return this.list?.name;\n }\n\n filterFunc(val: Procurement | Project): boolean {\n return !blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\n }\n\n openListSettingsModal() {\n this.$vmx.modal.openListSettingsModal({ list: this.list });\n }\n\n async onPersistBlacklist(blacklist: Blacklist): Promise {\n return this.$vmx.blacklist.pushBlacklist(blacklist);\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { formatUtils } from '@/util/format-utils';\nimport { Note } from '@/interfaces/note';\n\n@Component\nexport default class PrintNote extends Vue {\n @Prop({ required: true }) note: Note;\n\n get createdDate(): string {\n return formatUtils.formatDate(this.note?.created, 'DD.MM.YYYY');\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PrintRow extends Vue {\n @Prop({ default: 'MISSING LABEL'}) label: string;\n @Prop({ default: null }) datas: { data: string; class: string[] }[]\n\n get getDatas() {\n const filterdata = this.datas?.filter(({ data }) => data != null && data.length > 0);\n if (filterdata == null || filterdata.length == 0) {\n return null;\n } else {\n return filterdata;\n }\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PrintSection extends Vue {\n @Prop({ default: '' }) headerClass: string;\n @Prop({ default: '' }) headerText: string;\n @Prop({ default: '' }) bodyClass: string;\n @Prop({ default: null }) defaultText: string;\n}\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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Procurement } from '@/interfaces/procurement';\n\nconst api = '/procurements';\nexport class ProcurementService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProcurementById = async (id: number): Promise => {\n const response = await this.get(`${api}/byId/${id}`);\n return this.getResponse(response);\n };\n}\n\nexport const procurementService = new ProcurementService(apiConfig);\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Project } from '@/interfaces/project';\n\nconst api = '/projects';\n\nexport class ProjectService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getProjectById = async (id: number): Promise => {\n const response = await this.get(`${api}/byId/${id}`);\n return this.getResponse(response);\n };\n\n public getNewestProjects = async (limit: number): Promise => {\n const response = await this.get(`${api}/newest/${limit}`);\n return this.getResponse(response);\n };\n\n}\n\nexport const projectService = new ProjectService(apiConfig);\n","import { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseLogo from '@/components/buttons/base-logo.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { LocaleMessage } from 'vue-i18n';\nimport { Note } from '@/interfaces/note';\nimport PrintNote from '@/components/print/print-note.vue';\nimport PrintRow from '@/components/print/print-row.vue';\nimport PrintSection from '@/components/print/print-section.vue';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementPhaseRecord } from '@/interfaces/procurement-phase-record';\nimport { procurementService } from '@/services/restapi/procurement-service';\nimport { Project } from '@/interfaces/project';\nimport { projectService } from '@/services/restapi/project-service';\n\nComponent.registerHooks(['beforeRouteEnter']);\n\n@Component({\n components: {\n BaseLogo,\n PrintSection,\n PrintRow,\n PrintNote,\n },\n})\nexport default class PrintProcurementView extends Vue {\n @Prop() id: string;\n\n data: Procurement = null;\n project: Project = null;\n isLoading = true;\n\n created() {\n window.onafterprint = () => {\n this.$router.go(-1);\n };\n }\n\n mounted() {\n this.fetchData().then(async (data) => {\n this.data = data;\n\n setTimeout(() => {\n this.isLoading = false;\n this.$nextTick(() => {\n window.print();\n });\n }, 1000);\n });\n }\n\n async fetchData(): Promise {\n const procurement = await procurementService.getProcurementById(Number.parseInt(this.id));\n if (this.data?.project?.id != null) {\n const project = await projectService.getProjectById(this.data.project.id);\n }\n\n return {\n ...procurement,\n start: this.project?.start ?? procurement.start,\n end: this.project?.end ?? procurement.end,\n };\n }\n\n formatInfo(data: string): { data: string; class: string[] } {\n if (data == null) {\n return null;\n }\n return { data: data, class: ['mb-1'] };\n }\n\n formatUrl(data: string): { data: string; class: string[] } {\n return { data: data, class: ['mb-1', 'text-underlined', 'text-primary', 'text-underlined'] };\n }\n\n formatDate(date: string) {\n return date != null ? formatUtils.formatDate(date, 'DD.MM.YYYY') : 'N/A';\n }\n\n formatDates(date1: string, date2: string) {\n if (date1 == null && date2 == null) {\n return null;\n }\n return `${this.formatDate(date1)} - ${this.formatDate(date2)}`;\n }\n\n // NAVN & LOGO\n getLogo(): string {\n return this.$vmx.file.fromFile('project-agent/logo-210x50.svg');\n }\n\n // Dates\n get hasDateData() {\n return this.getDateData != null && this.getDateData.length != 0;\n }\n\n get getDateData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\n return [\n { label: this.startEndLabel, datas: this.startEndData },\n {\n label: this.$t('pages.procurement.importantDates.participation'),\n datas: this.participationData,\n },\n {\n label: this.$t('pages.procurement.importantDates.offers'),\n datas: this.offerData,\n },\n {\n label: this.$t('pages.procurement.importantDates.materials'),\n datas: this.materialData,\n },\n {\n label: this.$t('pages.procurement.importantDates.inquiries'),\n datas: this.inquiryData,\n },\n ].filter((v) => v != null);\n }\n\n get startEndLabel(): LocaleMessage {\n if (this.data.start != null && this.data.end != null) {\n return this.$t('general.criteria.startEnd');\n } else if (this.data.start != null) {\n return this.$t('general.criteria.startEndOptions.start');\n } else if (this.data.end != null) {\n return this.$t('general.criteria.startEndOptions.end');\n } else {\n return null;\n }\n }\n\n get startEndData(): { data: string; class: string[] }[] {\n let startEnd: string[];\n\n if (\n this.data.start != null &&\n this.data.start.length != 0 &&\n this.data.end != null &&\n this.data.end.length != 0\n ) {\n startEnd = [this.data.start + ' - ' + this.data.end];\n } else if (this.data.start != null && this.data.start.length != null) {\n startEnd = [this.data.start];\n } else if (this.data.end != null && this.data.end.length != null) {\n startEnd = [this.data.end];\n }\n\n return startEnd?.map(this.formatInfo);\n }\n\n get participationData(): { data: string; class: string[] }[] {\n const datas = [\n this.formatDates(this.data.participationFrom, this.data.participationTo),\n this.data.participationAddress,\n this.data.participationNote,\n ]\n .map(this.formatInfo)\n .concat(this.formatUrl(this.data.participationLink))\n .filter((data) => data?.data != null && data.data.length != 0);\n if (datas.length == 0) {\n return null;\n }\n return datas;\n }\n\n get offerData(): { data: string; class: string[] }[] {\n const datas = [\n this.formatDates(this.data.offersFrom, this.data.offersTo),\n this.data.offersAddress,\n this.data.offersNote,\n ]\n .map(this.formatInfo)\n .concat(this.formatUrl(this.data.offersLink))\n .filter((data) => data?.data != null && data.data.length != 0);\n if (datas.length == 0) {\n return null;\n }\n return datas;\n }\n\n get materialData(): { data: string; class: string[] }[] {\n const datas = [\n this.formatDates(this.data.materialFrom, this.data.materialTo),\n this.data.materialAddress,\n ]\n .map(this.formatInfo)\n .concat(this.formatUrl(this.data.materialLink))\n .filter((data) => data?.data != null && data.data.length != 0);\n if (datas.length == 0) {\n return null;\n }\n return datas;\n }\n\n get inquiryData(): { data: string; class: string[] }[] {\n const datas = [\n this.formatDates(this.data.inquiryFrom, this.data.inquiryTo),\n this.data.inquiryAddress,\n ]\n .map(this.formatInfo)\n .concat(this.formatUrl(this.data.inquiryLink))\n .filter((data) => data?.data != null && data.data.length != 0);\n if (datas.length == 0) {\n return null;\n }\n return datas;\n }\n\n // Information\n get hasInformationData(): boolean {\n return this.informationData != null && this.informationData.length != 0;\n }\n\n get informationData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\n const information = [this.procurementTypeData];\n for (const criterionType of this.$vmx.criterion.standardCriterionTypes) {\n information.push({\n label: this.$tc(criterionType.translationProperty, 2),\n datas: this.getCriterionDataForType(criterionType.id),\n });\n }\n information.push(this.estimatedSumData)\n return information.filter((v) => v != null && v.datas != null && v.datas.length > 0);\n }\n\n get procurementTypeData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] } {\n const data: string = this.data.procurementType?.name;\n return data == null\n ? null\n : { label: this.$t('general.criteria.procurementType'), datas: [this.formatInfo(data)] };\n }\n\n get estimatedSumData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] } {\n const data = this.data.budget;\n if (data == null) {\n return null;\n }\n return {\n label: this.$t('general.criteria.estimatedSum'),\n datas: [this.formatInfo(this.$n(data, 'currency', 'da-DK'))],\n };\n }\n\n // Notes\n get noteData(): Note[] {\n return this.data.notes.filter(\n (note) =>\n note != null &&\n note.title != null &&\n note.title.length != 0 &&\n note.text != null &&\n note.text.length != 0,\n );\n }\n\n get noteDataSize(): boolean {\n return (\n this.data.notes.length > 3 ||\n this.data.notes.map((note) => note.text).reduce((acc, val) => val + acc, '').length > 900\n );\n }\n\n getCriterionDataForType(typeId: number) {\n const data = this.data.criteria?.filter(criterion => criterion.typeId === typeId)\n .map((criterion) => criterion.name).join(', ') ?? null;\n return data ? [this.formatInfo(data)] : null;\n }\n\n // PHASE RECORDS\n getIconOrder(record: ProcurementPhaseRecord): number {\n return record.procurementPhase.id - this.data.procurementPhase.id;\n }\n\n getCircleStyle(record: ProcurementPhaseRecord) {\n return {\n width: this.getIconOrder(record) == 0 ? '60px' : '32px',\n height: this.getIconOrder(record) == 0 ? '60px' : '32px',\n 'border-radius': '50%',\n 'border-color': 'trademark',\n 'background-color': 'trademark',\n };\n }\n\n // WINNERS\n getWinnerFields() {\n const data = [\n this.$t('pages.procurement.winners.companyField'),\n this.$t('pages.procurement.winners.roleField'),\n this.$t('components.modals.role.contact'),\n ];\n return data;\n // return [\n // { key: 'companyName', label: this.$t('pages.procurement.winners.companyField') },\n // { key: 'role', label: this.$t('pages.procurement.winners.roleField') },\n // { key: 'contact', label: this.$t('components.modals.role.contact') },\n // ];\n }\n\n getWinnersItems() {\n const data = this.data.companyRoles?.filter((val) => val.isWinner);\n if (data == null || data.length == 0) {\n return null;\n }\n return data;\n // const items = this.data.companyRoles\n // ?.filter((role) => role.isWinner)\n // .map((role) => {\n // return {\n // companyName: role.companyName,\n // role: role.role?.name,\n // name: role.\n // ${role.contactPerson?.name}\n // ${role.contactPerson?.mail}\n // ${role.contactPerson?.phone}\n // `,\n // };\n // });\n // return items;\n }\n}\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';\nimport BaseLogo from '@/components/buttons/base-logo.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport { LocaleMessage } from 'vue-i18n';\nimport { Note } from '@/interfaces/note';\nimport PrintNote from '@/components/print/print-note.vue';\nimport PrintRow from '@/components/print/print-row.vue';\nimport PrintSection from '@/components/print/print-section.vue';\nimport { Project } from '@/interfaces/project';\nimport { ProjectPhaseRecord } from '@/interfaces/project-phase-record';\nimport { projectService } from '@/services/restapi/project-service';\nimport { Update } from '@/interfaces/update';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component({\n components: {\n BaseLogo,\n PrintSection,\n PrintRow,\n PrintNote,\n },\n})\nexport default class PrintProjectView extends Vue {\n @Prop() id: string;\n\n data: Project = null;\n\n loadedImages: number;\n\n isLoading = true;\n\n created() {\n window.onafterprint = () => {\n this.$router.go(-1);\n this.$nextTick(() => {\n // window.print();\n });\n };\n }\n\n mounted() {\n this.fetchData().then(async (data) => {\n this.data = data;\n this.loadedImages = 0;\n\n setTimeout(() => {\n const numberOfImages = this.data.files.filter((v) => v.image != null).length;\n\n this.printIfImageLoaded(numberOfImages);\n }, 1000);\n });\n }\n\n printIfImageLoaded(numberOfImages: number) {\n setTimeout(() => {\n if (this.loadedImages >= numberOfImages) {\n this.isLoading = false;\n this.$nextTick().then(() => {\n window.print();\n });\n } else {\n this.printIfImageLoaded(numberOfImages);\n }\n }, 200);\n }\n\n async fetchData(): Promise {\n const project = await projectService.getProjectById(Number.parseInt(this.id));\n return project;\n }\n\n formatInfo(data: string): { data: string; class: string[] } {\n if (data == null) {\n return null;\n }\n return { data: data, class: ['mb-1'] };\n }\n\n formatUrl(data: string): { data: string; class: string[] } {\n return { data: data, class: ['mb-1', 'text-underlined', 'text-primary', 'text-underlined'] };\n }\n\n formatDate(date: string) {\n return date != null ? formatUtils.formatDate(date, 'DD.MM.YYYY') : 'N/A';\n }\n\n formatDates(date1: string, date2: string) {\n if (date1 == null && date2 == null) {\n return null;\n }\n return `${this.formatDate(date1)} - ${this.formatDate(date2)}`;\n }\n\n // NAVN & LOGO\n getLogo(): string {\n return this.$vmx.file.fromFile('project-agent/logo-210x50.svg');\n }\n\n // Date\n get hasDateData() {\n return this.getDateData != null && this.getDateData.length != 0;\n }\n\n get getDateData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\n return [\n { label: this.startEndLabel, datas: this.startEndData },\n { label: this.$tc('general.latestUpdate', 1), datas: this.lastUpdateDateData },\n { label: this.$t('general.published'), datas: this.publishedData },\n ].filter((v) => v.datas != null && v.datas.length != 0);\n }\n\n get startEndLabel(): LocaleMessage {\n if (this.data.start != null && this.data.end != null) {\n return this.$t('general.criteria.startEnd');\n } else if (this.data.start != null) {\n return this.$t('general.criteria.startEndOptions.start');\n } else if (this.data.end != null) {\n return this.$t('general.criteria.startEndOptions.end');\n } else {\n return null;\n }\n }\n\n get startEndData(): { data: string; class: string[] }[] {\n let startEnd: string[];\n\n if (\n this.data.start != null &&\n this.data.start.length != 0 &&\n this.data.end != null &&\n this.data.end.length != 0\n ) {\n startEnd = [this.data.start + ' - ' + this.data.end];\n } else if (this.data.start != null && this.data.start.length != null) {\n startEnd = [this.data.start];\n } else if (this.data.end != null && this.data.end.length != null) {\n startEnd = [this.data.end];\n }\n\n return startEnd?.map(this.formatInfo);\n }\n\n get lastUpdateDateData(): { data: string; class: string[] }[] {\n const data = this.data.lastUpdateDate;\n if (data == null) {\n return null;\n }\n return [this.formatInfo(data)];\n }\n\n get publishedData(): { data: string; class: string[] }[] {\n const data = this.data.published;\n if (data == null) {\n return null;\n }\n return [this.formatInfo(data)];\n }\n\n // Information\n get hasInformationData(): boolean {\n return this.informationData != null && this.informationData.length != 0;\n }\n\n get informationData(): { label: LocaleMessage; datas: { data: string; class: string[] }[] }[] {\n const information = [];\n for (const criterionType of this.$vmx.criterion.standardCriterionTypes) {\n information.push({\n label: this.$tc(criterionType.translationProperty, 2),\n datas: this.getCriterionDataForType(criterionType.id),\n });\n }\n information.push({ label: this.$t('general.criteria.estimatedSum'), datas: this.budgetData });\n return information.filter((v) => v.datas != null && v.datas.length > 0);\n }\n\n get budgetData() {\n if (this.data.budget == null) {\n return null;\n }\n const data = this.data.budget.toLocaleString('da') + 'kr.';\n return [this.formatInfo(data)];\n }\n\n // PHASE RECORDS\n get phaseRecords(): ProjectPhaseRecord[] {\n return this.data.projectPhaseRecords;\n }\n\n getCriterionDataForType(typeId: number) {\n const data = this.data.criteria?.filter(criterion => criterion.typeId === typeId)\n .map((criterion) => criterion.name).join(', ') ?? null;\n return data ? [this.formatInfo(data)] : null;\n }\n\n getIconOrder(record: ProjectPhaseRecord): number {\n return record.projectPhase.id - this.data.projectPhase.id;\n }\n\n getCircleStyle(record: ProjectPhaseRecord) {\n return {\n width: this.getIconOrder(record) == 0 ? '60px' : '32px',\n height: this.getIconOrder(record) == 0 ? '60px' : '32px',\n 'border-radius': '50%',\n 'border-color': 'trademark',\n 'background-color': 'trademark',\n };\n }\n\n // Roles\n getWinnerFields() {\n const data = [\n this.$t('pages.procurement.winners.companyField'),\n this.$t('pages.procurement.winners.roleField'),\n this.$t('components.modals.role.contact'),\n ];\n return data;\n }\n\n getWinnersItems() {\n const data = this.data.companyRoles;\n if (data == null || data.length == 0) {\n return null;\n }\n return data;\n }\n\n // Notes\n get hasNoteData(): boolean {\n return this.noteData != null && this.noteData.length != 0;\n }\n get noteData(): Note[] {\n return this.data.notes.filter(\n (note) =>\n note != null &&\n note.title != null &&\n note.title.length != 0 &&\n note.text != null &&\n note.text.length != 0,\n );\n }\n\n get noteDataSize(): boolean {\n return (\n this.data.notes.length > 3 ||\n this.data.notes.map((note) => note.text).reduce((acc, val) => val + acc, '').length > 900\n );\n }\n\n // Picture\n get picturesData() {\n // return this.data.files.filter((v) => v.image != null);\n const pictures = this.data.files.filter((v) => v.image != null);\n const newpicture = [];\n while (pictures.length > 0) {\n newpicture.push([pictures.pop(), pictures.pop()]);\n }\n return newpicture;\n }\n\n onLoad(bla: any) {\n this.loadedImages += 1;\n }\n}\n","export enum AnnouncementTypes {\n UPDATE = 'Opdatering',\n CHANGE = 'Rettelse',\n RESULT = 'Resultat',\n CANCELLATION = 'Annullering',\n}\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport DropdownMailExport from '@/components/dropdowns/dropdown-mail-export.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport moment from 'moment';\n\n@Component({\n components: {\n DropdownMailExport,\n },\n})\nexport default class ContainerDateRow extends Vue {\n @Prop() procurementName: string;\n @Prop() text: string;\n @Prop() fromDate: string;\n @Prop() toDate: string;\n @Prop() address: string;\n @Prop() note: string;\n @Prop() link: string;\n @Ref() daterowdata: HTMLSlotElement;\n\n get downloadName(): string {\n return `${this.procurementName.replaceAll(' ', '_')}.ics`\n }\n\n get textPrefix(): string {\n return this.fromDate && this.toDate ? '' : this.fromDate ? 'Start: ' : 'Slut: ';\n }\n\n get from(): moment.Moment {\n return (this.fromDate && moment(this.fromDate) || moment(this.toDate)).locale('da');\n }\n\n get to(): moment.Moment {\n return (this.toDate && moment(this.toDate) || moment(this.fromDate)).locale('da');\n }\n\n get computedLink(): string {\n return this.isBasicProduct ? 'https://fakelink.dk/thisisnotareallink?isthisreal=no' : this.link;\n }\n\n get isBasicProduct(): boolean {\n return !this.$vmx.user.hasProduct;\n }\n\n get paywallModalId() {\n return globalFunctions.getPaywallModalId();\n }\n\n get mailHeader(): string {\n return `${this.procurementName} (${this.textPrefix}${this.$t(this.text)})`\n }\n\n formatDate(date: string) {\n return date;\n }\n\n mailBody(): string {\n return this.daterowdata ? this.daterowdata.innerText : '';\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { ProcurementUpdate } from '@/interfaces/procurement-update';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalAnnouncementInfo extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ required: true }) announcement: ProcurementUpdate;\n loading = true;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n }\n\n initializeModal() {\n this.loading = false;\n // Do stuff\n }\n\n public formatAnnouncementChanges(changes: string) {\n if (!changes || changes.trim().length === 0) {\n return `(${this.$t('pages.procurement.announcements.noChangeText')})`;\n } else {\n return this.formatTextToHtml(changes);\n }\n }\n\n public formatTextToHtml(text: string) {\n return formatUtils.formatTextToHtml(text);\n }\n\n public formatDate(date: string): string {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class AbstractModal extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ default: 'trademark' }) backgroundColor: string;\n @Prop({ default: true}) centered: boolean;\n @Prop({ default: true }) fade: boolean;\n @Prop({ default: 'lg'}) size: string;\n @Prop() styleClasses: string;\n @Prop({ default: false }) backdropped: boolean;\n @Prop({ default: false }) scrollable: boolean;\n\n get modalDialogClasses() {\n return [\n this.size != 'md' ? `modal-${this.size}` : '',\n this.centered ? 'modal-dialog-centered' : '',\n this.scrollable ? 'modal-dialog-scrollable' : '',\n ];\n }\n\n get modalClasses() {\n return [\n this.fade ? 'fade' : '',\n this.styleClasses,\n ];\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport AbstractModal from '@/components/modals/abstract-modal.vue';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue'\n// import BasePaywall from '@/components/general-components/base-paywall.vue';\n\n@Component({\n components: {\n AbstractModal,\n FormBookDemo,\n },\n})\nexport default class ModalPaywall extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ default: 'trademark' }) backgroundColor: string;\n @Prop({ default: 'white' }) textColor: string;\n @Prop() fade: string;\n @Prop({ default: 'xl' }) size: string;\n}\n\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';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { Tip } from '@/interfaces/tip';\n\nconst api = '/tips';\n\nexport class TipService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getTipById = async (id: number): Promise => {\n const response = await this.get(api + '/' + id);\n return this.getResponse(response);\n };\n\n public postTip = async (tip: Tip): Promise => {\n const response = await this.post(api, tip);\n return this.getResponse(response);\n };\n\n public companyRoleHasTip = async (companyRoleId: number): Promise => {\n const response = await this.get(api + '/hasCompanyAndUser/' + companyRoleId);\n return this.getResponse(response);\n };\n}\n\nexport const tipService = new TipService(apiConfig);\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { CompanyRole } from '@/interfaces/company-role';\nimport { formatUtils } from '@/util/format-utils';\nimport { Modal } from 'bootstrap';\nimport { tipService } from '@/services/restapi/tip-service';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalRoleInfo extends Vue {\n @Prop({ required: true }) modalId: string;\n @Prop({ required: true }) objectId: number;\n @Prop({ required: true }) objectName: string;\n @Prop({ required: true }) companyRole: CompanyRole;\n @Prop({ required: true }) isProcurement: boolean;\n @Prop() tipSent = false;\n loading = true;\n submitting = false;\n error = false;\n tipAlreadySent = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n initializeModal() {\n if (this.companyRole) {\n this.loading = true;\n tipService.companyRoleHasTip(this.companyRole.id).then((alreadySent) => {\n this.tipAlreadySent = alreadySent;\n }).finally(() => this.loading = false);\n }\n }\n\n get roleName(): string {\n const unspecified = this.$t('general.unspecified') as string;\n if (this.companyRole.role && this.companyRole.role.name && this.companyRole.role.name != unspecified) {\n return this.companyRole.role.name;\n } else if (this.companyRole.roleString) {\n return this.companyRole.roleString;\n } else {\n return unspecified;\n }\n }\n\n public formatDate(date: string, format: string): string {\n return formatUtils.formatDate(date, format);\n }\n\n getNoteFormatted(note: string) {\n return formatUtils.formatTextToHtml(note);\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n async sendTip() {\n this.submitting = true;\n const user = this.$vmx.user.user;\n const objTrans = this.$t(this.isProcurement ? 'general.procurement' : 'general.project') as string;\n const tip = {\n projectId: this.isProcurement ? null : this.objectId,\n procurementId: this.isProcurement ? this.objectId : null,\n paUserId: user.id,\n companyRoleId: this.companyRole.id,\n name: user.name,\n email: user.mail,\n phone: user.phone,\n description: this.$t(\n 'components.modals.role.tipDescription',\n [user.name, objTrans, this.objectName, this.objectId, this.companyRole.companyName, this.roleName],\n ) as string,\n };\n try {\n await tipService.postTip(tip);\n this.$emit('tipSent', this.companyRole.id);\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n}\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=89c3dcb2&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 \"89c3dcb2\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\nimport moment from 'moment';\nimport { ProcurementPhase } from '@/interfaces/criterias/procurement-phase';\nimport { ProcurementPhaseRecord } from '@/interfaces/procurement-phase-record';\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\nimport { ProjectPhaseRecord } from '@/interfaces/project-phase-record';\n\n@Component({\n components: {\n ModalPaywall,\n },\n})\nexport default class PhaseTimeline extends Vue {\n @Prop() private phaseRecords: ProcurementPhaseRecord[] | ProjectPhaseRecord[];\n @Prop() private currentPhase: ProcurementPhase | ProjectPhase;\n\n windowSize = window.innerWidth;\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n }\n\n get isAboveBasicProduct(): boolean {\n return this.$vmx.user.hasProduct;\n }\n\n public getPhase (record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n if ((record as ProcurementPhaseRecord).procurementPhase !== undefined) {\n return (record as ProcurementPhaseRecord).procurementPhase;\n } else {\n return (record as ProjectPhaseRecord).projectPhase;\n }\n }\n\n public isCurrentPhase(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n\n if (((record as ProcurementPhaseRecord).procurementPhase != undefined\n && (record as ProcurementPhaseRecord).procurementPhase.id === this.currentPhase.id)\n || ((record as ProjectPhaseRecord).projectPhase != undefined\n && (record as ProjectPhaseRecord).projectPhase.id === this.currentPhase.id)) {\n return true;\n }\n return false;\n }\n\n public isBeforeCurrent(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n if (((record as ProcurementPhaseRecord).procurementPhase != undefined\n && (record as ProcurementPhaseRecord).procurementPhase.index < this.currentPhase.index)\n || ((record as ProjectPhaseRecord).projectPhase != undefined\n && (record as ProjectPhaseRecord).projectPhase.index < this.currentPhase.index)) {\n return true;\n }\n return false;\n }\n\n public isNotLast(index: number) {\n return index < this.phaseRecords.length - 1;\n }\n\n public formatDate(date: Date) {\n if (date) {\n return moment(date).format('DD.MM.YYYY');\n }\n return 'N/A';\n }\n\n public resizeHandler() {\n this.windowSize = window.innerWidth;\n }\n\n public getCircleClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n const currentPhase = this.isCurrentPhase(record);\n const beforeCurrent = this.isBeforeCurrent(record);\n return {\n 'circle-filled': beforeCurrent,\n 'circle-bordered': currentPhase,\n 'circle-dashed': !currentPhase && !beforeCurrent,\n };\n }\n\n public getLineClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n const beforeCurrent = this.isBeforeCurrent(record);\n return {\n 'line': beforeCurrent,\n 'line-dashed': !beforeCurrent,\n };\n }\n\n public getFontClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n const currentPhase = this.isCurrentPhase(record);\n const beforeCurrent = this.isBeforeCurrent(record);\n return {\n 'lato-sm': !currentPhase,\n 'lato': currentPhase,\n 'text-trademark': currentPhase || beforeCurrent,\n 'text-trademark-50': !currentPhase && !beforeCurrent,\n };\n }\n\n public getSvgClasses(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n const beforeCurrent = this.isBeforeCurrent(record);\n const isCurrent = this.isCurrentPhase(record);\n return {\n 'text-trademark': isCurrent,\n 'text-white': beforeCurrent,\n 'text-trademark-50': !beforeCurrent && !isCurrent,\n 'big-icon': isCurrent,\n 'normal-icon': !isCurrent,\n };\n }\n\n // public getSize(record: ProcurementPhaseRecord | ProjectPhaseRecord) {\n // return this.isCurrentPhase(record) && this.isAboveBasicProduct ? '2x' : '1x';\n // }\n}\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';\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { AnnouncementTypes } from '@/util/enums/announcement-types';\nimport { CompanyRole } from '@/interfaces/company-role';\nimport ContainerDateRow from '@/components/containers/container-date-row.vue';\nimport { Criterion } from '@/interfaces/criterias/criterion';\nimport Error401 from '@/components/error-components/error-401.vue';\nimport Error404 from '@/components/error-components/error-404.vue';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport IconBar from '@/components/containers/icon-bar.vue';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport ModalAnnouncementInfo from '@/components/modals/modal-announcement-info.vue';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\nimport ModalRoleInfo from '@/components/modals/modal-role-info.vue';\nimport { Note } from '@/interfaces/note';\nimport NoteList from '@/components/general-components/note-list.vue';\nimport PhaseTimeline from '@/components/phase-timeline.vue';\nimport { Procurement } from '@/interfaces/procurement';\nimport { procurementService } from '@/services/restapi/procurement-service';\nimport { ProcurementUpdate } from '@/interfaces/procurement-update';\nimport { Project } from '@/interfaces/project';\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\nimport { projectService } from '@/services/restapi/project-service';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { Update } from '@/interfaces/update';\nimport UpdateList from '@/components/general-components/update-list.vue';\nimport { updateService } from '@/services/restapi/update-service';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n ContainerDateRow,\n Error401,\n Error404,\n IconBar,\n ModalAnnouncementInfo,\n ModalNoteEdit,\n ModalNoteDelete,\n ModalRoleInfo,\n ModalPaywall,\n NoteList,\n PhaseTimeline,\n ProjectReferenceCard,\n UpdateList,\n },\n})\nexport default class ProcurementView extends Vue {\n @Prop() private id: number;\n @Prop({ default: false }) printOnLoad: boolean;\n @Ref() summary: HTMLElement;\n @Ref() description: HTMLElement;\n\n loading = true;\n errorCode: number = null;\n procurement: Procurement = null;\n project: Project = null;\n getFromFile = this.$vmx.file.fromFile;\n windowSize = window.innerWidth;\n sentTips: boolean[] = [];\n tipHasBeenSent: boolean = null;\n showSummaryFoldingButton = false;\n showDescriptionFoldingButton = false;\n summaryCollapsed = false;\n descriptionCollapsed = false;\n winnersCollapsed = true;\n selectedCompanyRole: CompanyRole = null;\n selectedAnnouncement: ProcurementUpdate = null;\n selectedNote: Note = null;\n updates: Update[] = null;\n\n currentHash: string = null;\n\n\n mounted() {\n updateService.getUpdatesByProcurementId(this.id).then(updates => this.updates = updates)\n\n window.scrollTo(0, 0);\n window.addEventListener('resize', this.resizeHandler);\n procurementService.getProcurementById(this.id).then(\n (proc) => {\n if ((proc as Procurement).id !== undefined) {\n this.procurement = proc as Procurement;\n if (this.procurement.summary) {\n this.formatSummary();\n }\n if (this.procurement && this.procurement.project && this.procurement.project.id !== 0) {\n projectService\n .getProjectById(this.procurement.project.id)\n .then((proj) => {\n this.project = proj;\n this.initSetup();\n })\n .catch(() => {\n this.procurement.project = null;\n this.initSetup();\n });\n } else {\n this.initSetup();\n }\n }\n },\n (error) => {\n this.errorCode = error;\n if (error == 404) {\n this.$router.push({ name: RouterNames.ERROR_NOT_FOUND });\n } else if (error == 401) {\n this.renderContent();\n }\n },\n );\n }\n\n private initSetup() {\n if (\n this.procurement &&\n this.procurement.procurementUpdates &&\n this.procurement.procurementUpdates.length > 0\n ) {\n this.procurement.procurementUpdates.sort((a, b) => (a.date < b.date ? 1 : -1));\n document.title = this.procurement.name;\n }\n this.loading = false;\n this.renderContent();\n }\n\n private renderContent() {\n this.$nextTick(() => {\n if (this.printOnLoad) {\n // We wait 0.5 sec for the page to render and then open print\n globalFunctions.timeout(500).then(() => window.print());\n }\n globalFunctions.timeout(50).then(() => {\n // Wait a very short while, for the summary div to be loaded correctly\n if (this.windowSize < 768) {\n this.summaryCollapsed = true;\n this.descriptionCollapsed = true;\n this.winnersCollapsed = true;\n }\n this.$nextTick(() => {\n this.showSummaryFoldingButton =\n this.summary?.offsetHeight < this.summary?.scrollHeight && this.windowSize < 768;\n this.showDescriptionFoldingButton =\n this.description?.offsetHeight < this.description?.scrollHeight &&\n this.windowSize < 768;\n });\n });\n this.setHash();\n });\n }\n\n get blacklistModalId() {\n return `modal-blacklist-${this.commonId}`;\n }\n\n get listModalId() {\n return `modal-list-${this.commonId}`;\n }\n\n get noteId() {\n return 'note-list';\n }\n\n get commonId() {\n return `proc-${this.procurement.id}`;\n }\n\n get firstListWithObject(): List {\n if (this.isOnList) {\n return this.$vmx.list.listsWithObject(this.procurement)[0];\n }\n return null;\n }\n\n get isOnList(): boolean {\n return this.$vmx.list.isInList(this.procurement);\n }\n\n get winners(): CompanyRole[] {\n return this.filteredCompanyRoles(true);\n }\n\n get computedWinners(): CompanyRole[] {\n const winners = this.winners;\n if (winners.length > 5 && this.winnersCollapsed) {\n return winners.splice(0, 5);\n }\n return winners;\n }\n\n get companyRoles(): CompanyRole[] {\n return this.filteredCompanyRoles(false);\n }\n\n get filteredAnnouncements(): ProcurementUpdate[] {\n return this.procurement.procurementUpdates.filter(\n (x) => x.type != AnnouncementTypes.RESULT && x.type != AnnouncementTypes.CANCELLATION,\n );\n }\n\n get procurementType(): string {\n return this.procurement.procurementType?.name ?? (this.$t('general.emptyField') as string);\n }\n\n get budgetString(): string {\n if (this.procurement && this.procurement.budget) {\n return this.$n(this.procurement.budget, 'currency', domainUtils.domain.numberFormat);\n }\n return this.$t('general.emptyField') as string;\n }\n\n get roleModalId() {\n return 'modal-role-info';\n }\n\n get paywallModalId() {\n return globalFunctions.getPaywallModalId();\n }\n\n get announcementModalId() {\n return 'modal-announcement-info';\n }\n\n get tipSent(): boolean {\n if (this.selectedCompanyRole) {\n return this.sentTips[this.selectedCompanyRole.id];\n }\n return false;\n }\n\n get projectStart(): string {\n return this.project?.start ?? this.procurement.start;\n }\n\n get projectEnd(): string {\n return this.project?.end ?? this.procurement.end;\n }\n\n get hasMaterial(): boolean {\n return (\n !!this.procurement.materialFrom ||\n !!this.procurement.materialTo ||\n !!this.procurement.materialLink\n );\n }\n\n get hasInquiries(): boolean {\n return (\n !!this.procurement.inquiryAddress ||\n !!this.procurement.inquiryFrom ||\n !!this.procurement.inquiryTo\n );\n }\n\n get hasParticipation(): boolean {\n return (\n !!this.procurement.participationFrom ||\n !!this.procurement.participationTo ||\n !!this.procurement.participationAddress ||\n !!this.procurement.participationNote\n );\n }\n\n get hasOffers(): boolean {\n return (\n !!this.procurement.offersFrom ||\n !!this.procurement.offersTo ||\n !!this.procurement.offersAddress ||\n !!this.procurement.offersLink ||\n !!this.procurement.offersNote\n );\n }\n\n get isAboveBasicProduct(): boolean {\n return !(this.$vmx.user.user as User).product.basic;\n }\n\n get hasNoDates(): boolean {\n return (\n !this.hasInquiries &&\n !this.hasMaterial &&\n !this.hasParticipation &&\n !this.hasOffers &&\n !this.procurement.start &&\n !this.procurement.end\n );\n }\n\n @Watch('$vmx.blacklist.blacklists')\n blacklistEdited() {\n this.$vmx.search.resetPage();\n }\n\n companyRoleString(companyRole: CompanyRole): string {\n const unspecified = this.$t('general.unspecified') as string;\n if (companyRole.role && companyRole.role.name && companyRole.role.name != unspecified) {\n return companyRole.role.name;\n } else if (companyRole.roleString) {\n return companyRole.roleString;\n } else {\n return unspecified;\n }\n }\n\n concatCriterionName(criteria: Criterion[], id: number): string {\n if (criteria && criteria.length > 0) {\n for (const criterion of criteria) {\n if (criterion.id === id) {\n return criterion.name;\n } else if (criterion.children && criterion.children.length > 0) {\n const childConcat = this.concatCriterionName(criterion.children, id);\n if (childConcat) {\n return childConcat.includes('>') ? childConcat : `${criterion.name} > ${childConcat}`;\n }\n }\n }\n }\n return null;\n }\n\n getCriteriaOfTypeString(typeId: number): string {\n const str = this.getCriteriaOfType(typeId).map((x) => x.name).join(', ');\n return str;\n }\n\n getCriteriaOfType(typeId: number): Criterion[] {\n return this.procurement.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\n }\n\n filteredCompanyRoles(isWinner: boolean) {\n const roles: CompanyRole[] = [];\n if (this.procurement.companyRoles && this.procurement.companyRoles.length > 0) {\n this.procurement.companyRoles.forEach((companyRole) => {\n if (companyRole.isWinner == isWinner) {\n roles.push(companyRole);\n }\n });\n }\n return roles;\n }\n\n public formatDate(date: string) {\n return formatUtils.formatDate(date, 'DD.MM.YYYY');\n }\n\n selectRole(companyRole: CompanyRole) {\n if (this.isAboveBasicProduct) {\n this.selectedCompanyRole = companyRole;\n this.openModal(this.roleModalId);\n }\n }\n\n selectAnnouncement(announcement: ProcurementUpdate) {\n if (this.isAboveBasicProduct) {\n this.selectedAnnouncement = announcement;\n this.openModal(this.announcementModalId);\n }\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n public resizeHandler() {\n this.windowSize = window.innerWidth;\n if (this.windowSize < 768) {\n this.summaryCollapsed = true;\n this.descriptionCollapsed = true;\n this.winnersCollapsed = true;\n }\n if (this.summary && this.description) {\n this.showSummaryFoldingButton =\n this.summary.offsetHeight < this.summary.scrollHeight && this.windowSize < 768;\n this.showDescriptionFoldingButton =\n this.description.offsetHeight < this.description.scrollHeight && this.windowSize < 768;\n }\n }\n\n public toggleSummary() {\n this.summaryCollapsed = !this.summaryCollapsed;\n }\n\n public toggleDescription() {\n this.descriptionCollapsed = !this.descriptionCollapsed;\n }\n\n public toggleWinners() {\n this.winnersCollapsed = !this.winnersCollapsed;\n }\n\n public formatSummary() {\n this.procurement.summary = formatUtils.formatTextToHtml(this.procurement.summary);\n }\n\n public formatAnnouncementChanges(changes: string) {\n if (!changes || changes.trim().length === 0) {\n return `(${this.$t('pages.procurement.announcements.noChangeText')})`;\n } else {\n return this.formatTextToHtml(changes);\n }\n }\n\n public formatTextToHtml(text: string) {\n return formatUtils.formatTextToHtml(text);\n }\n\n addSentTip(companyRoleId: number) {\n this.sentTips[companyRoleId] = true;\n this.sentTips = [...this.sentTips];\n }\n\n openDeleteNoteModal(id: number) {\n this.selectedNote = this.procurement.notes.find((note) => note.id == id);\n this.openModal(`delete-${this.noteId}`);\n }\n\n noteSaved(note: Note) {\n if (this.procurement.notes.some((x) => x.id === note.id)) {\n this.procurement.notes = this.procurement.notes.map((obj) =>\n obj.id === note.id ? note : obj,\n );\n } else {\n this.procurement.notes.push(note);\n this.procurement.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n noteDeleted(id: number) {\n this.procurement.notes.splice(\n this.procurement.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n\n routeToCompanyView(companyRole: CompanyRole) {\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_VIEW, params: { id: companyRole.companyId.toString() } })\n }\n\n setHash(type?: string) {\n if (type) {\n if (this.currentHash == type) {\n document.getElementById(type).scrollIntoView();\n return;\n }\n\n this.currentHash = type;\n this.$router.replace({ hash: `#${type}` });\n return;\n }\n\n this.currentHash = location.hash.split('#')[1] ?? null;\n if (this.currentHash == null) return;\n setTimeout(() => {\n document.getElementById(this.currentHash).scrollIntoView();\n }, 500);\n }\n\n getHashColor(type: string): string {\n return this.currentHash == type ? 'cta' : 'trademark';\n }\n\n}\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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Carousel } from 'bootstrap'\nimport { File } from '@/interfaces/file';\n// import { globalFunctions } from '@/util/global-functions';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ImageCarousel extends Vue {\n @Prop({type: String, required: true}) private carouselId: number;\n @Prop({type: Array, required: true}) private images: File[];\n @Prop({ type: Boolean, default: true }) private showControls: boolean;\n @Prop({\n type: Number,\n default: 3,\n validator: function(value: number) {\n return [1,2,3,4,6,12].indexOf(value) !== -1;\n },\n })\n private imagesShown: number;\n @Prop({type: Number, default: 4000}) private interval: number;\n @Ref() carousel: HTMLDivElement;\n @Ref() carouselInner: HTMLDivElement;\n getFromFile = this.$vmx.file.fromFile;\n selectedImage: File = null;\n\n mounted() {\n this.carouselInner.firstElementChild.classList.add('active');\n new Carousel(this.carousel);\n }\n\n public imageFromFile(image: File) {\n return image.link ? image.link : this.getFromFile(`${image.code}.${image.extension}`);\n }\n\n public modularOfShown() {\n if (this.images && this.images.length > 0) {\n return [...Array(this.images.length-1)].map((_,i)=>i).filter(i=>i%this.imagesShown===0);\n }\n return [];\n }\n\n public selectImage(image: File) {\n this.selectedImage = image;\n }\n\n}\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';\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport ArticleCard from '@/components/cards/article-card.vue';\nimport { CompanyRole } from '@/interfaces/company-role';\nimport { Criterion } from '@/interfaces/criterias/criterion';\nimport { dateUtils } from '@/util/date-utils';\nimport Error401 from '@/components/error-components/error-401.vue';\nimport Error404 from '@/components/error-components/error-404.vue';\nimport { File } from '@/interfaces/file';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport HorizontalDraggable from '@/components/draggables/horizontal-draggable.vue';\nimport IconBar from '@/components/containers/icon-bar.vue';\nimport ImageCarousel from '@/components/general-components/image-carousel.vue';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport ModalNoteDelete from '@/components/modals/modal-note-delete.vue';\nimport ModalNoteEdit from '@/components/modals/modal-note-edit.vue';\nimport ModalRoleInfo from '@/components/modals/modal-role-info.vue';\nimport { Note } from '@/interfaces/note';\nimport NoteList from '@/components/general-components/note-list.vue';\nimport PhaseTimeline from '@/components/phase-timeline.vue';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { ProjectReference } from '@/interfaces/project-reference';\nimport ProjectReferenceCard from '@/components/cards/project-reference-card.vue';\nimport { projectService } from '@/services/restapi/project-service';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport { RouterNames } from '@/util/enums/router-names';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\nimport { setTimeout } from 'timers';\nimport { Update } from '@/interfaces/update';\nimport UpdateList from '@/components/general-components/update-list.vue';\nimport { updateService } from '@/services/restapi/update-service';\n\n@Component({\n components: {\n ArticleCard,\n Error401,\n Error404,\n HorizontalDraggable,\n IconBar,\n ImageCarousel,\n ModalNoteEdit,\n ModalNoteDelete,\n ModalRoleInfo,\n NoteList,\n PhaseTimeline,\n ProjectReferenceCard,\n SearchItemsListView,\n UpdateList,\n },\n})\nexport default class ProjectView extends Vue {\n @Prop() private id: number;\n @Prop({ default: false }) printOnLoad: boolean;\n @Ref() slider: HTMLElement;\n loading = true;\n project: Project = null;\n getFromFile = this.$vmx.file.fromFile;\n sentTips: boolean[] = [];\n tipHasBeenSent: boolean = null;\n errorCode: number = null;\n\n selectedRole: CompanyRole = null;\n selectedNote: Note = null;\n\n sliderDown = false;\n articleClickable = true;\n startX: number;\n scrollLeft: number;\n\n windowSize = window.innerWidth;\n currentHash: string = null;\n\n updates: Update[] = null;\n\n mounted() {\n updateService.getUpdatesByProjectId(this.id).then(updates => {\n this.updates = updates;\n });\n\n window.scrollTo(0, 0);\n window.addEventListener('resize', this.resizeHandler);\n // this.project = await projectService.getProjectById(this.id);\n this.loadProject();\n }\n\n loadProject() {\n this.loading = true;\n\n projectService.getProjectById(this.id)\n .then(\n (project) => {\n this.project = project;\n document.title = this.project.name;\n this.project.articles.sort((x, y) => {\n return dateUtils.isDateStringAfter(x.created, y.created)\n ? -1 : dateUtils.isDateStringAfter(y.created, x.created)\n ? 1 : 0;\n });\n this.$nextTick(() => {\n if (this.printOnLoad) {\n // We wait 0.5 sec for the page to render and then open print\n globalFunctions.timeout(500).then(() => window.print());\n }\n });\n if (this.$vmx.session.isLoggedInLimitedAccess) {\n this.$vmx.limitedAccess.reFetchLimitedAccess();\n }\n this.setHash();\n },\n (error) => {\n if (error == ResponseCodes.ACCESS_RUN_OUT) {\n this.$router.push({ name: RouterNames.LOGGED_IN_ACCESS_EXPIRED });\n return;\n }\n this.errorCode = error;\n },\n )\n .finally(() => {\n this.$nextTick(() => {\n this.loading = false;\n });\n });\n }\n\n get noteId() {\n return 'note-list';\n }\n\n get firstListWithObject(): List {\n if (this.isOnList) {\n return this.$vmx.list.listsWithObject(this.project)[0];\n }\n return null;\n }\n\n get isOnList(): boolean {\n return this.$vmx.list.isInList(this.project);\n }\n\n get companyRoles(): CompanyRole[] {\n const companyRoles = this.project.companyRoles.slice();\n return companyRoles;\n }\n\n get budgetString(): string {\n if (this.project && this.project.budget) {\n return this.$n(this.project.budget, 'currency', domainUtils.domain.numberFormat);\n }\n return this.$t('general.emptyField') as string;\n }\n\n get projectStartEndString(): string {\n const empty = this.$t('general.emptyField');\n return `${this.project.start ?? empty} - ${this.project.end ?? empty}`;\n }\n\n get fullAddress(): string {\n let address = this.project.address ?? '';\n if (this.project.postalCode) {\n address += `, ${this.project.postalCode}`;\n }\n if (this.project.city) {\n address += ` ${this.project.city}`;\n }\n return address ?? 'N/A';\n }\n\n get hasCouncilSummaryInfo(): boolean {\n return (\n !!this.project.summaryCommittee ||\n !!this.project.summaryDate ||\n !!this.project.summaryLink ||\n !!this.project.summaryMunicipality ||\n !!this.project.summaryNumber\n );\n }\n\n get relatedProjects(): ProjectReference[] {\n let related = [];\n\n if (this.project.parentProject) {\n related.push(this.project.parentProject);\n }\n if (this.project.childrenProjects && this.project.childrenProjects.length > 0) {\n related = related.concat(this.project.childrenProjects);\n }\n return related;\n }\n\n get imagesFromFiles(): File[] {\n if (this.project.files) {\n return this.project.files.filter((file) => file.image);\n }\n return [];\n }\n\n get isAboveBasicProduct(): boolean {\n return this.$vmx.user.hasProduct;\n }\n\n get roleModalId() {\n return 'modal-role-info';\n }\n\n get tipSent(): boolean {\n if (this.selectedRole) {\n return this.sentTips[this.selectedRole.id];\n }\n return false;\n }\n\n @Watch('id')\n idChanged(newId: number) {\n window.scrollTo(0, 0);\n this.loadProject();\n }\n\n @Watch('$vmx.blacklist.blacklists')\n blacklistEdited() {\n this.$vmx.search.resetPage();\n }\n\n concatCriterionName(criteria: Criterion[], id: number): string {\n if (criteria && criteria.length > 0) {\n for (const criterion of criteria) {\n if (criterion.id === id) {\n return criterion.name;\n } else if (criterion.children && criterion.children.length > 0) {\n const childConcat = this.concatCriterionName(criterion.children, id);\n if (childConcat) {\n return childConcat.includes('>') ? childConcat : `${criterion.name} > ${childConcat}`;\n }\n }\n }\n }\n return null;\n }\n\n companyRoleString(companyRole: CompanyRole): string {\n const unspecified = this.$t('general.unspecified') as string;\n if (companyRole.role && companyRole.role.name && companyRole.role.name != unspecified) {\n return companyRole.role.name;\n } else if (companyRole.roleString) {\n return companyRole.roleString;\n } else {\n return unspecified;\n }\n }\n\n getCriteriaOfType(typeId: number): Criterion[] {\n return this.project.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\n }\n\n public getDraggableClasses(index: number, length: number) {\n return [\n { 'ps-0': index === 0 },\n { 'pe-0': index === length - 1 },\n { 'col-12': length === 1 },\n { 'col-10': length >= 1 },\n ];\n }\n\n getShortNote(note: string) {\n if (note && note.length > 50) {\n return note.slice(0, 50) + '...';\n }\n return note;\n }\n\n public formatDate(date: string, format: string): string {\n return formatUtils.formatDate(date, format);\n }\n\n public imageFromFile(file: File) {\n if (file) {\n return file.link ? file.link : this.getFromFile(`${file.code}.${file.extension}`);\n } else {\n return this.getFromFile(undefined);\n }\n }\n\n public procurementClicked(procurement: ProcurementReference) {\n this.$router.push({ name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW, params: { id: procurement.id.toString() } });\n }\n\n public projectClicked(project: ProjectReference) {\n this.$router.push({ name: RouterNames.LOGGED_IN_PROJECT_VIEW, params: { id: project.id.toString() } });\n }\n\n public resizeHandler() {\n this.windowSize = window.innerWidth;\n }\n\n selectRole(companyRole: CompanyRole) {\n this.selectedRole = companyRole;\n this.openModal(this.roleModalId);\n }\n\n openModal(modalId: string) {\n const element = document.getElementById(modalId);\n const modal = new Modal(element);\n modal.show();\n }\n\n addSentTip(companyRoleId: number) {\n this.sentTips[companyRoleId] = true;\n this.sentTips = [...this.sentTips];\n }\n\n openDeleteNoteModal(id: number) {\n this.selectedNote = this.project.notes.find((note) => note.id == id);\n this.openModal(`delete-${this.noteId}`);\n }\n\n noteSaved(note: Note) {\n if (this.project.notes.some((x) => x.id === note.id)) {\n this.project.notes = this.project.notes.map((obj) => (obj.id === note.id ? note : obj));\n } else {\n this.project.notes.push(note);\n this.project.notes.sort((a, b) => (a.created > b.created ? -1 : 1));\n }\n this.selectedNote = null;\n }\n\n noteDeleted(id: number) {\n this.project.notes.splice(\n this.project.notes.findIndex((x) => x.id === id),\n 1,\n );\n this.selectedNote = null;\n }\n\n routeToCompanyView(companyRole: CompanyRole) {\n this.$router.push({ name: RouterNames.LOGGED_IN_COMPANY_VIEW, params: { id: companyRole.companyId.toString() } })\n }\n\n setHash(type?: string) {\n if (type) {\n if (this.currentHash == type) {\n document.getElementById(type).scrollIntoView();\n return;\n }\n\n this.currentHash = type;\n this.$router.replace({ hash: `#${type}` });\n return;\n }\n\n this.currentHash = location.hash.split('#')[1] ?? null;\n if (this.currentHash == null) return;\n setTimeout(() => {\n document.getElementById(this.currentHash).scrollIntoView();\n }, 500);\n }\n\n getHashColor(type: string): string {\n return this.currentHash == type ? 'cta' : 'trademark';\n }\n}\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:{\"size\":\"md\",\"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-4\"},[_c('div',{staticClass:\"row justify-content-center justify-content-md-end\"},[_c('div',{staticClass:\"col-auto\"},[(_vm.companyAgent.id == null)?_c('BaseButton',{attrs:{\"id\":\"open-save-agent-modal-button\",\"style-classes\":\"px-4 roboto-lg\",\"variant\":\"cta\",\"disabled\":_vm.isSearchEmpty},on:{\"click\":function($event){return _vm.openCompanyAgentReplaceModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.companySearch.saveAsCompanyAgent'))+\" \")]):_c('BaseButton',{attrs:{\"id\":\"open-save-agent-modal-button\",\"style-classes\":\"px-4 roboto-lg\",\"variant\":\"cta\",\"disabled\":_vm.isSearchEmpty},on:{\"click\":function($event){return _vm.openCompanyAgentSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('pages.companySearch.companyAgentSettings'))+\" \")])],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\"},[(_vm.isSearchEmpty)?_c('div',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('pages.companySearch.noResultText'))}}),_c('TableCompanyListsAll')],1):_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()]),(_vm.companyAgent.id)?_c('div',{staticClass:\"col-auto\"},[_c('h4',[_vm._v(\" (\"+_vm._s(_vm.companyAgent.name)+\") \")])]):_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]; })},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},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'},on:{\"click\":_vm.click}})],1),_c('div',{class:_vm.textClass,on:{\"click\":_vm.click}},[_vm._t(\"text\",function(){return [_c('div',{staticClass:\"clickable\"},[_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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component({\n components: { },\n})\nexport default class BaseFoldMenu extends Vue {\n @Prop({ default: 'missing text' }) text: string;\n @Prop({ default: 'xs' }) size: string;\n @Prop({ default: 'xs' }) iconSize: string;\n @Prop({ default: false }) invisible: boolean;\n @Prop({ default: 'white '}) variant: string;\n @Prop({ default: true }) folded: boolean;\n @Prop({ default: '' }) textClass: string | string[] | {[attr: string]: boolean};\n @Prop({ default: '' }) contentClass: string | string[] | {[attr: string]: boolean};\n\n foldedVal = null as boolean;\n\n get isFolded() {\n if (this.foldedVal == null) {\n this.foldedVal = this.folded;\n }\n return this.foldedVal;\n }\n\n set isFolded(val) {\n this.foldedVal = val;\n }\n\n click() {\n if (this.invisible) {\n return;\n }\n this.isFolded = !this.isFolded;\n }\n\n}\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=5232eba3&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 \"5232eba3\",\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\n\n@Component({\n components: {\n BaseFoldMenu,\n },\n})\nexport default class CountrySelector extends Vue {\n @VModel() countryIds: number[]\n @Prop({ default: true }) onlyDomainCountries: boolean;\n @Prop({ default: false }) disabled: boolean;\n\n get allCountriesLimited() {\n if (this.$vmx.country.countries) {\n const allCountries = this.$vmx.country.countries;\n const countries = this.onlyDomainCountries\n ? allCountries.filter(c => this.$vmx.domain.domains.some(d => d.countryId === c.id))\n : allCountries;\n if (countries) {\n const countryMap = countries.map((c) => {\n return {\n ids: [c.id],\n name: c.name,\n }\n });\n if (this.onlyDomainCountries) {\n // TODO: When we have more foreign companies, uncomment this code\n // countryMap.push({\n // ids: allCountries.filter(c => !countries.some(c2 => c2.id === c.id)).map(c => c.id),\n // name: this.$tc('general.other', 2) as string,\n // })\n } else {\n allCountries.forEach(c => {\n countryMap.push({\n ids: [c.id],\n name: c.name,\n });\n })\n }\n return countryMap;\n }\n }\n return [];\n }\n\n countryClicked(countryMap: {ids: number[], name: string}) {\n let newCountryIds = [...this.countryIds];\n if (countryMap.ids.some(id => newCountryIds.includes(id))) {\n newCountryIds = newCountryIds.filter(cid => !countryMap.ids.includes(cid));\n } else {\n newCountryIds = newCountryIds.concat(countryMap.ids);\n }\n this.countryIds = [...new Set(newCountryIds)]; // unique values\n }\n\n isSelected(countryMap: {ids: number[], name: string}): boolean {\n return countryMap.ids.every(id => this.countryIds.includes(id));\n }\n}\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},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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\nimport { AbstractCriteria } from '@/interfaces/criterias/abstract-criteria';\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue';\n\n@Component({\n name: 'CriteriaTree',\n components: {\n CriteriaTree,\n BaseFoldMenu,\n },\n})\nexport default class CriteriaTree extends Vue {\n @VModel() criterias: AbstractCriteria[];\n @Prop({ required: true }) criteriaOptions: AbstractCriteria[];\n @Prop({ default: null }) countRecord: Record;\n @Prop({ default: null }) isDisabled: (criteria: AbstractCriteria) => boolean;\n\n @Prop({ default: 2 }) yPadding: number;\n\n getCriteriaCount(criteria: AbstractCriteria): number {\n if (criteria.children == null || criteria.children.length == 0) {\n return this.countRecord != null && this.countRecord[criteria.id] != null\n ? this.countRecord[criteria.id]\n : 0\n }\n\n return criteria.children?.reduce(\n (acc, child) => acc + this.getCriteriaCount(child),\n this.countRecord != null && this.countRecord[criteria.id] != null\n ? this.countRecord[criteria.id]\n : 0,\n );\n }\n\n isChecked(criteria: AbstractCriteria): boolean {\n return this.criterias.some((criteria0) => criteria0.id === criteria.id);\n }\n\n click(criteria: AbstractCriteria) {\n const isChecked = this.isChecked(criteria);\n\n const subs = this.findChildren(criteria).filter(\n (sub) => this.isChecked(sub) === isChecked,\n );\n\n if (isChecked) {\n this.criterias = this.criterias.filter(\n (criteria0) => !subs.some((sub) => sub.id === criteria0.id),\n )\n } else {\n this.criterias = [ ...this.criterias, ...subs ];\n }\n }\n\n private checkCriteria(criteria: AbstractCriteria, check: boolean): void {\n const isChecked = this.isChecked(criteria);\n\n if (criteria.children != null && criteria.children.length != 0) {\n criteria.children.forEach((child) => this.checkCriteria(child, check));\n }\n\n if (check && !isChecked) {\n this.criterias = [ criteria, ...this.criterias ];\n } else if (!check && isChecked) {\n this.criterias = this.criterias.filter((criteria0) => criteria0.id != criteria.id)\n }\n }\n\n private findChildren(criteria: AbstractCriteria): AbstractCriteria[] {\n const children = criteria?.children?.flatMap(this.findChildren);\n return [ criteria, ...(children ?? [])]\n }\n\n}\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=9426d4ec&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 \"9426d4ec\",\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\nimport CountrySelector from './country-selector.vue';\nimport CriteriaTree from './criteria-tree.vue'\nimport { Role } from '@/interfaces/criterias/role';\n\n@Component({\n components: {\n BaseFoldMenu,\n CountrySelector,\n CriteriaTree,\n },\n})\nexport default class CompanyCriteriaMenu extends Vue {\n get canReset(): boolean {\n return !this.$vmx.searchCompany.isSearchEmpty;\n }\n\n get roles() {\n return this.$vmx.searchCompany.companyAgent.roles;\n }\n\n set roles(roles: Role[]) {\n this.$vmx.searchCompany.updateCompanyAgent({\n id: null,\n roles,\n });\n }\n\n get countryIds(): number[] {\n return this.$vmx.searchCompany.companyAgent.countryIds;\n }\n\n set countryIds(countryIds: number[]) {\n this.$vmx.searchCompany.updateCompanyAgent({\n id: null,\n countryIds,\n });\n }\n\n}\n","export enum OrderByOptions {\n BUDGET = 'BUDGET_',\n UPDATED = 'UPDATED_',\n PUBLISHED = 'PUBLISHED_',\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=12f75ae8&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 \"12f75ae8\",\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { companyListService } from '@/services/restapi/company-list-service';\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\n\n@Component({\n components: {\n TableCompanyList,\n },\n})\nexport default class TableCompanyListsAll extends Vue {\n\n companyLists: Array<{ list: CompanyList, companies: Company[] }> = [];\n\n loading = false;\n error = false;\n\n async mounted() {\n this.fillCompanyLists();\n }\n\n @Watch('$vmx.companyList.companyLists')\n @Watch('$vmx.companyList.companyListsLoaded')\n async fillCompanyLists() {\n if (!this.loading && this.$vmx.companyList.companyListsLoaded) {\n this.loading = true;\n this.companyLists = [];\n for (const companyList of this.$vmx.companyList.companyLists) {\n try {\n const companies = await companyListService.getCompanyListItems(companyList.id);\n this.companyLists.push({\n list: companyList,\n companies,\n });\n } catch (error) {\n this.error = true;\n this.companyLists = [];\n break;\n }\n }\n this.loading = false;\n }\n }\n\n openCompanyListSettingsModal(companyList: CompanyList) {\n this.$vmx.modal.openCompayListSettingsModal({ companyList: companyList });\n }\n}\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';\nimport { Company } from '@/interfaces/company';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport CompanyCriteriaMenu from '@/components/search-components/company-criteria-menu.vue';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport Error401 from '@/components/error-components/error-401.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { OrderByOptions } from '@/util/enums/order-by-options';\nimport SearchInput from '@/components/form-fields/search-input.vue';\nimport TableCompanyList from '@/components/company-list-components/table-company-list.vue';\nimport TableCompanyListsAll from '@/components/company-list-components/table-company-lists-all.vue';\n\n@Component({\n components: {\n CompanyCriteriaMenu,\n DropdownOrderBy,\n Error401,\n TableCompanyList,\n TableCompanyListsAll,\n SearchInput,\n },\n})\nexport default class SearchCompanyView extends Vue {\n @Ref() tableCompanyList: TableCompanyList;\n private showMoreLimit = 10;\n orderByOptions: [OrderByOptions, string][] = [\n [null as OrderByOptions, this.$t('components.sorting.bestMatch') as string],\n [OrderByOptions.UPDATED, this.$t('components.sorting.updated') as string],\n ];\n\n get companyAgent(): CompanyAgent {\n return this.$vmx.searchCompany.companyAgent;\n }\n\n get count(): number {\n return this.$vmx.searchCompany.count;\n }\n\n get freeSearch(): string {\n return this.$vmx.searchCompany.companyAgent.freeSearch;\n }\n\n set freeSearch(freeSearch: string) {\n this.$vmx.searchCompany.updateCompanyAgent({freeSearch});\n }\n\n get isSearchEmpty(): boolean {\n return this.$vmx.searchCompany.isSearchEmpty;\n }\n\n get limit(): number {\n return this.$vmx.searchCompany.limit;\n }\n\n set limit(newLimit: number) {\n this.$vmx.searchCompany.setLimit(newLimit);\n }\n\n get loading(): boolean {\n return this.$vmx.searchCompany.loading || this.results == null;\n }\n\n get orderBy(): string {\n return this.orderByOptions.find(x => x[0] === this.$vmx.searchCompany.orderBy)[1];\n }\n\n set orderBy(orderBy: string) {\n this.$vmx.searchCompany.setOrderBy(this.orderByOptions.find(x => x[1] === orderBy)[0]);\n }\n\n get results(): Company[] {\n return this.$vmx.searchCompany.results;\n }\n\n @Watch('$vmx.searchCompany.isSearchEmpty')\n @Watch('$vmx.searchCompany.loading')\n @Watch('results')\n resizeTable() {\n globalFunctions.timeout(50).then(() => {\n if (this.tableCompanyList) {\n this.tableCompanyList.resizeHandler();\n }\n });\n }\n\n addToLimit() {\n this.limit = this.limit + this.showMoreLimit;\n }\n\n openCompanyAgentReplaceModal() {\n this.$vmx.modal.openCompanyAgentReplaceModal(this.companyAgent);\n }\n\n openCompanyAgentSettingsModal() {\n this.$vmx.modal.openCompanyAgentSettingsModal(this.companyAgent);\n }\n\n showMore() {\n this.$vmx.searchCompany.setLimit(this.$vmx.searchCompany.limit + this.showMoreLimit);\n }\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=f21c8830&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=f21c8830&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 \"f21c8830\",\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:{\"size\":\"md\",\"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-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:\"all\",fn:function(){return [_c('span',{staticClass:\"px-2\"},[_vm._v(_vm._s(_vm.$t('pages.search.all')))])]},proxy:true},{key:\"procurementsOnly\",fn:function(){return [_c('span',{staticClass:\"px-2\"},[_vm._v(_vm._s(_vm.$t('pages.search.procurementsOnly')))])]},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-2 fw-medium\",attrs:{\"text-class\":\"ms-2\",\"content-class\":\"mt-1\",\"text\":_vm.agent.isProcurement\n ? _vm.$t('general.criteria.procurementPhase')\n : _vm.$t('general.criteria.phase')}},[(!_vm.agent.isProcurement)?_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\"}}):_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},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)}),(_vm.agent.isProcurement)?_c('BaseFoldMenu',{staticClass:\"my-4 fw-medium\",attrs:{\"content-class\":\"mt-1\",\"text-class\":\"ms-2\",\"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):_vm._e(),_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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Agent } from '@/interfaces/agent';\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\nimport { CriterionType } from '@/interfaces/criterias/criterion-type';\nimport { TranslateResult } from 'vue-i18n';\n\n@Component({\n components: {\n BaseFoldMenu,\n },\n})\nexport default class AgentCriteriaFilter extends Vue {\n @Prop({ required: true }) onUpdateAgent: (agent: Partial) => void;\n\n private readonly A_MILLION = 1000000\n\n get agent() {\n return this.$vmx.search.agent;\n }\n\n get getInitialAgent() {\n return this.$vmx.search.getInitialAgent;\n }\n\n // Reset agent criteria\n get canReset(): boolean {\n if (this.agent == null) {\n return false;\n }\n\n return [\n this.criteriasCount > 0,\n this.agent.isProcurement != this.getInitialAgent().isProcurement,\n this.agent.freeSearch != this.getInitialAgent().freeSearch,\n ].some((x) => x);\n }\n\n clearCriteria() {\n // this.$vmx.search.clearAgent();\n this.onUpdateAgent(this.getInitialAgent());\n }\n\n // Dropdown\n get criterias(): {\n header: TranslateResult,\n items: { text: string | TranslateResult, f: () => Partial }[]\n }[] {\n if (this.$vmx.criterion.criterionTypes == null) {\n return [];\n }\n const selectedFilters = this.agent == null ? [] : [\n // projectPhases\n {\n header: this.$t('general.criteria.projectPhase'),\n items: this.projectPhases ?? [],\n },\n // procurementPhases\n {\n header: this.$t('general.criteria.procurementPhase'),\n items: this.procurementPhases ?? [],\n },\n // procurementTypes\n {\n header: this.$tc('general.criteria.procurementType'),\n items: this.procurementTypes ?? [],\n },\n // estimatedSum\n {\n header: this.$tc('pages.search.estimatedSumMillions'),\n items: this.estimatedSum,\n },\n // sizeMetres\n {\n header: this.$tc('general.criteria.sizeMetres'),\n items: this.sizeMetres,\n },\n // sizeBuilding\n {\n header: this.$tc('general.criteria.sizeBuilding'),\n items: this.sizeBuilding,\n },\n // sizeGround\n {\n header: this.$tc('general.criteria.sizeGround'),\n items: this.sizeGround,\n },\n {\n header: this.$tc('general.criteria.numberOfUnits'),\n items: this.numberOfUnits,\n },\n // projectStartEnd\n {\n header: this.$t('general.criteria.startEnd'),\n items: this.projectStartEnd,\n },\n // isPublic\n {\n header: this.$t('pages.search.publicPrivate'),\n items: this.isPublic,\n },\n ];\n\n for (const criterionType of this.$vmx.criterion.criterionTypes) {\n if (this.getCriteriaOfType(criterionType).length > 0) {\n selectedFilters.push({\n header: this.$tc(criterionType.translationProperty),\n items: this.getCriteriaOfType(criterionType),\n })\n }\n }\n return selectedFilters;\n }\n\n\n get criteriasCount() {\n return this.criterias.reduce((acc, criteria) => criteria.items.length + acc, 0)\n }\n\n // Criterias\n get projectPhases(): { text: string, f: () => Partial }[] {\n return this.agent?.isProcurement\n ? []\n : this.agent?.projectPhases?.filter((item) => item != null).map((item) => ({\n text: item.name,\n f: () => ({\n projectPhases: this.agent.projectPhases.filter((item0) => item0.id != item.id),\n }),\n }))\n }\n\n get procurementPhases(): { text: string, f: () => Partial }[] {\n return !this.agent.isProcurement\n ? []\n : this.agent?.procurementPhases?.filter((item) => item != null).map((item) => ({\n text: item.name,\n f: () => ({\n procurementPhases: this.agent.procurementPhases.filter(\n (item0) => item0.id != item.id),\n }),\n }))\n }\n\n get procurementTypes(): { text: string, f: () => Partial }[] {\n return !this.agent?.isProcurement\n ? []\n : this.agent?.procurementTypes?.filter((item) => item != null).map((item) => ({\n text: item.name,\n f: () => ({\n procurementTypes: this.agent.procurementTypes.filter((item0) => item0.id != item.id),\n }),\n }))\n }\n\n getCriteriaOfType(criterionType: CriterionType): { text: string | TranslateResult, f: () => Partial }[] {\n let criteria: { text: string | TranslateResult, f: () => Partial }[]\n = this.agent?.criteria?.filter(criterion => criterion != null && criterion.typeId === criterionType.id)\n .map((item) => ({\n text: item.name,\n f: () => ({\n criteria: this.agent.criteria.filter((item0) => item0.id != item.id),\n }),\n })) ?? [];\n if (this.agent?.allowUnusedCriterionTypes?.includes(criterionType.id) ?? false) {\n criteria.push({\n text: this.$t('pages.search.includeUnspecified', [\n this.$tc(criterionType.translationProperty, 1).toLowerCase(),\n ]),\n f: () => ({\n allowUnusedCriterionTypes: this.agent.allowUnusedCriterionTypes.filter((item0) => item0 !== criterionType.id),\n // allowUnusedCriterionTypes: this.agent.allowUnusedCriterionTypes !== undefined && this.agent.allowUnusedCriterionTypes !== null\n // ? (!this.agent.allowUnusedCriterionTypes.some(ct => ct == criterionType.id)\n // ? [...this.agent.allowUnusedCriterionTypes].concat(criterionType.id)\n // : this.agent.allowUnusedCriterionTypes)\n // : [criterionType.id],\n }),\n });\n }\n return criteria.filter(item => item != null);\n }\n\n get projectStartEnd(): { text: string | TranslateResult, f: () => Partial }[] {\n return [\n ...this.agent.projectStart?.map((item) => ({\n text: `${this.$t('general.criteria.startEndOptions.start')}: ${item}`,\n f: () => ({\n projectStart: this.agent.projectStart.filter((item0) => item != item0 ),\n }),\n })),\n ...this.agent.projectEnd?.map((item) => ({\n text: `${this.$t('general.criteria.startEndOptions.end')}: ${item}`,\n f: () => ({\n projectEnd: this.agent.projectEnd.filter((item0) => item != item0 ),\n }),\n })),\n this.agent?.allowUnspecifiedStartAndEnd == this.getInitialAgent().allowUnspecifiedStartAndEnd\n ? null\n : {\n text: this.$t('pages.search.includeUnspecified', [\n this.$t('general.criteria.startEnd').toString().toLowerCase(),\n ]),\n f: () => ({\n allowUnspecifiedStartAndEnd: this.getInitialAgent().allowUnspecifiedStartAndEnd,\n }),\n },\n ].filter((item) => item != null);\n }\n\n get estimatedSum(): { text: string | TranslateResult, f: () => Partial }[] {\n return [\n this.agent?.minBudget == this.getInitialAgent().minBudget\n ? null\n : {\n text: `Min. ${this.agent.minBudget / this.A_MILLION}`,\n f: () => ({\n minBudget: this.getInitialAgent().minBudget,\n }),\n },\n this.agent?.maxBudget == this.getInitialAgent().maxBudget\n ? null\n : {\n text: `Max. ${this.agent.maxBudget / this.A_MILLION}`,\n f: () => ({\n maxBudget: this.getInitialAgent().maxBudget,\n }),\n },\n this.agent?.allowUnspecifiedBudget == this.getInitialAgent().allowUnspecifiedBudget\n ? null\n : {\n text: this.$t('pages.search.includeUnspecified', [\n this.$t('general.criteria.estimatedSum').toString().toLowerCase(),\n ]),\n f: () => ({\n allowUnspecifiedBudget: this.getInitialAgent().allowUnspecifiedBudget,\n }),\n },\n ].filter((item) => item != null)\n }\n\n get sizeMetres(): { text: TranslateResult, f: () => Partial }[] {\n return [\n this.agent.minSizeMetres == this.getInitialAgent().minSizeMetres ? null : {\n text: `Min. ${this.agent.minSizeMetres}`,\n f: () => ({\n minSizeMetres: this.getInitialAgent().minSizeMetres,\n }),\n },\n this.agent.maxSizeMetres == this.getInitialAgent().maxSizeMetres ? null : {\n text: `Max. ${this.agent.maxSizeMetres}`,\n f: () => ({\n maxSizeMetres: this.getInitialAgent().maxSizeMetres,\n }),\n },\n ].filter((item) => item != null)\n }\n\n get sizeBuilding(): { text: TranslateResult, f: () => Partial }[] {\n return [\n this.agent.minSizeBuilding == this.getInitialAgent().minSizeBuilding ? null : {\n text: `Min. ${this.agent.minSizeBuilding}`,\n f: () => ({\n minSizeBuilding: this.getInitialAgent().minSizeBuilding,\n }),\n },\n this.agent.maxSizeBuilding == this.getInitialAgent().maxSizeBuilding ? null : {\n text: `Max. ${this.agent.maxSizeBuilding}`,\n f: () => ({\n maxSizeBuilding: this.getInitialAgent().maxSizeBuilding,\n }),\n },\n this.agent.allowUnspecifiedSize == this.getInitialAgent().allowUnspecifiedSize\n ? null\n : {\n text: this.$t('pages.search.includeUnspecified', [\n this.$t('general.criteria.sizeBuilding').toString().toLowerCase(),\n ]),\n f: () => ({\n allowUnspecifiedSize: this.getInitialAgent().allowUnspecifiedSize,\n }),\n },\n ].filter((item) => item != null)\n }\n\n get sizeGround(): { text: string, f: () => Partial }[] {\n return [\n this.agent.minSizeGround == this.getInitialAgent().minSizeGround ? null : {\n text: `Min. ${this.agent.minSizeGround}`,\n f: () => ({\n minSizeGround: this.getInitialAgent().minSizeGround,\n }),\n },\n this.agent.maxSizeGround == this.getInitialAgent().maxSizeGround ? null : {\n text: `Max. ${this.agent.maxSizeGround}`,\n f: () => ({\n maxSizeGround: this.getInitialAgent().maxSizeGround,\n }),\n },\n ].filter((item) => item != null)\n }\n\n get numberOfUnits(): { text: string, f: () => Partial }[] {\n return [\n this.agent.minNumberOfUnits == this.getInitialAgent().minNumberOfUnits ? null : {\n text: `Min. ${this.agent.minNumberOfUnits}`,\n f: () => ({\n minNumberOfUnits: this.getInitialAgent().minNumberOfUnits,\n }),\n },\n this.agent.maxNumberOfUnits == this.getInitialAgent().maxNumberOfUnits ? null : {\n text: `Max. ${this.agent.maxNumberOfUnits}`,\n f: () => ({\n maxNumberOfUnits: this.getInitialAgent().maxNumberOfUnits,\n }),\n },\n ].filter((item) => item != null)\n }\n\n get isPublic(): { text: string, f: () => Partial }[] {\n return this.agent.isPublic == this.getInitialAgent().isPublic ? [] : [\n {\n text: this.agent.isPublic\n ? this.$t('pages.search.publicPrivateOptions.public').toString()\n : this.$t('pages.search.publicPrivateOptions.private').toString(),\n f: () => ({ isPublic: this.getInitialAgent().isPublic }),\n },\n ];\n }\n\n // Events\n onClickBullet(item: { text: string, f: () => { [k in keyof Agent ]?: Agent[k] } }) {\n this.onUpdateAgent(item.f());\n // this.$vmx.search.updateAgent(item.f());\n }\n}\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=74d51214&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=74d51214&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 \"74d51214\",\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component({})\nexport default class BaseDropDown extends Vue {\n @VModel({ required: true }) model: string;\n @Prop({ required: true }) options: string[]\n @Prop({ default: null }) show: (val: string) => string;\n\n @Prop({ required: true }) id: number;\n\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: ''}) size: string;\n @Prop({ default: 'roboto rounded' }) buttonStyleClasses: string;\n @Prop({ default: 'outline-primary' }) variant: string;\n @Prop({ default: '' }) ulClass: string;\n @Prop() paddingX: string;\n @Prop() paddingY: string;\n\n setOption(option: string) {\n this.model = option;\n }\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\nimport BaseDropdown from '@/components/dropdowns/base-dropdown.vue';\nimport moment from 'moment-timezone';\n\n@Component({\n components: {\n BaseDropdown,\n },\n})\nexport default class AgentCriteriaQuarterSelector extends Vue {\n @VModel() data: string[];\n @Prop({ required: true }) id: string;\n\n showExtra = false;\n\n addNewYear(year: string) {\n this.setQuarters(year, ['Q1', 'Q2', 'Q3', 'Q4'])\n this.showExtra = false;\n }\n\n setYear(oldYear: string, newYear: string) {\n this.data = this.data.map(\n (val) => val.slice(3, 7) == oldYear ? `${val.slice(0, 2)} ${newYear}` : val,\n )\n }\n\n remove(year: string) {\n this.data = this.data.filter((val) => val.slice(3, 7) !== year);\n }\n\n get getShowExtra() {\n return this.showExtra || this.data == null || this.data.length == 0;\n }\n\n get years() {\n return this.data.map((val) => val.slice(3, 7)).reduce(\n (acc, val) => acc.some((val0) => val0 === val) ? acc : [val, ...acc],\n [] as string[],\n ).sort((a, b) => a < b ? 1 : -1);\n }\n\n get yearOptions(): string[] {\n const currentYear = parseInt(moment().format('YYYY')) - 3;\n return Array.from(Array(23).keys())\n .map((i) => currentYear + i)\n .map((year) => year.toString())\n .filter((year) => this.years.every((year0) => year0 != year));\n }\n\n get quartersOptions() {\n return ['Q1', 'Q2', 'Q3', 'Q4'] as const;\n }\n\n getQuarters(year: string): ('Q1' | 'Q2' | 'Q3' | 'Q4')[] {\n return this.data\n .filter((val) => val.slice(3,7) === year)\n .map((val) => val.slice(0, 2)) as ('Q1' | 'Q2' | 'Q3' | 'Q4')[];\n }\n\n setQuarters(year: string, quarters: ('Q1' | 'Q2' | 'Q3' | 'Q4')[]) {\n this.data = this.data\n .filter((val) => val.slice(3, 7) !== year)\n .concat(quarters.map((quarter) => `${quarter} ${year}`))\n }\n}\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\nimport { Component, Prop, Ref, VModel, Vue, Watch } from 'vue-property-decorator';\n\n@Component({})\nexport default class AgentCriteriaRange extends Vue {\n @VModel() model: [number, number];\n @Prop({ required: true }) max: number;\n @Prop({ required: true }) min: number;\n @Prop({ default: 'missing' }) formatText: string;\n @Ref() minInput: HTMLInputElement;\n @Ref() maxInput: HTMLInputElement;\n\n readonly INPUT_TIMEOUT = 3000;\n\n rangeValue: [number, number] = null;\n dbounseTimer: ReturnType = null;\n\n get range() {\n if (this.rangeValue == null) {\n this.rangeValue = [\n Math.min(this.max, Math.max(this.min, this.model?.[0] ?? this.min)),\n Math.min(this.max, Math.max(this.min, this.model?.[1] ?? this.max)),\n ]\n }\n\n return this.rangeValue;\n }\n\n set range(val) {\n this.rangeValue = [\n Math.max(this.min, Math.min(this.max, val[0])),\n Math.max(this.min, Math.min(this.max, val[1])),\n ];\n }\n\n get minInputValue() {\n return this.rangeValue[0];\n }\n\n set minInputValue(val) {\n if (val > this.range[1]) {\n this.maxInput.focus();\n }\n this.range = [val, this.range[1]]\n this.onInputChange();\n }\n\n get maxInputValue() {\n return this.rangeValue[1];\n }\n\n set maxInputValue(val) {\n if (val < this.range[0]) {\n this.minInput.focus();\n }\n this.range = [this.range[0], val]\n this.onInputChange();\n }\n\n @Watch('model')\n onModelChange() {\n this.range = [\n this.model[0] ?? this.min,\n this.model[1] ?? this.max,\n ];\n }\n\n onSliderDragEnd() {\n this.model = this.rangeValue;\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.model = this.rangeValue;\n if (this.dbounseTimer != null) {\n clearTimeout(this.dbounseTimer);\n this.dbounseTimer = null;\n }\n return\n }\n if (this.dbounseTimer != null) {\n clearTimeout(this.dbounseTimer);\n\n this.dbounseTimer = setTimeout(() => {\n this.model = this.rangeValue;\n this.dbounseTimer = null;\n }, this.INPUT_TIMEOUT)\n }\n }\n\n onInputChange() {\n if (this.dbounseTimer != null) {\n clearTimeout(this.dbounseTimer);\n }\n\n this.dbounseTimer = setTimeout(() => {\n this.model = this.rangeValue;\n this.dbounseTimer = null;\n }, this.INPUT_TIMEOUT)\n }\n}\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},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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue';\nimport { Criterion } from '@/interfaces/criterias/criterion';\n\n\n@Component({\n name: 'CriterionTree',\n components: {\n CriterionTree,\n BaseFoldMenu,\n },\n})\nexport default class CriterionTree extends Vue {\n @Prop({ required: true }) checkedCriteria: Criterion[];\n @Prop({ required: true }) typeId: number;\n @Prop({ required: true }) criterionOptions: Criterion[];\n @Prop({ default: null }) isDisabled: (criterion: Criterion) => boolean;\n\n @Prop({ default: 2 }) yPadding: number;\n\n get criteriaCountRecord() {\n return this.$vmx.search.searchItemPage?.criterionCount ?? null;\n }\n\n updateCriteriaTre(newCheckedCriteria: Criterion[], typeId: number) {\n this.$emit('input', newCheckedCriteria, typeId);\n }\n\n getCriterionCount(criterion: Criterion): number {\n if (criterion.children == null || criterion.children.length == 0) {\n return this.criteriaCountRecord != null && this.criteriaCountRecord[criterion.id] != null\n ? this.criteriaCountRecord[criterion.id]\n : 0\n }\n\n return criterion.children?.reduce(\n (acc, child) => acc + this.getCriterionCount(child),\n this.criteriaCountRecord != null && this.criteriaCountRecord[criterion.id] != null\n ? this.criteriaCountRecord[criterion.id]\n : 0,\n );\n }\n\n isChecked(criterion: Criterion): boolean {\n return this.checkedCriteria.some((criterion0) => criterion0.id === criterion.id);\n }\n\n click(criterion: Criterion) {\n const isChecked = this.isChecked(criterion);\n\n const subs = this.findChildren(criterion).filter(\n (sub) => this.isChecked(sub) === isChecked,\n );\n\n let newCheckedCriteria: Criterion[] = [];\n if (isChecked) {\n newCheckedCriteria = this.checkedCriteria.filter((criteria0) =>\n !subs.some((sub) => sub.id === criteria0.id),\n )\n } else {\n newCheckedCriteria = [ ...this.checkedCriteria, ...subs ];\n }\n\n this.$emit('input', newCheckedCriteria, this.typeId);\n }\n\n private findChildren(criteria: Criterion): Criterion[] {\n const children = criteria?.children?.flatMap(this.findChildren);\n return [ criteria, ...(children ?? [])]\n }\n\n}\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=36df0500&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 \"36df0500\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { Agent } from '@/interfaces/agent';\nimport AgentCriteriaFilter from './agent-criteria-filter.vue'\nimport AgentCriteriaQuarterSelector from './agent-criteria-quarter-selector.vue'\nimport AgentCriteriaRange from './agent-criteria-range.vue'\nimport BaseDropDown from '/src/components/dropdowns/base-dropdown.vue'\nimport BaseFoldMenu from '../buttons/base-fold-menu.vue'\nimport CriteriaTree from './criteria-tree.vue'\nimport { Criterion } from '@/interfaces/criterias/criterion';\nimport CriterionTree from './criterion-tree.vue';\nimport { ProjectPhase } from '@/interfaces/criterias/project-phase';\nimport SearchInput from '@/components/form-fields/search-input.vue';\n\n@Component({\n components: {\n SearchInput,\n AgentCriteriaFilter,\n AgentCriteriaRange,\n CriteriaTree,\n CriterionTree,\n BaseFoldMenu,\n AgentCriteriaQuarterSelector,\n BaseDropDown,\n },\n})\nexport default class AgentCriteriaMenu extends Vue {\n @Prop({ default: null }) onUpdateAgent: (agent: Partial) => void;\n\n readonly A_MILLION = 1000000;\n\n readonly BUDGET_MIN = 0;\n readonly BUDGET_MAX = 3000;\n\n readonly BUILDING_MIN = 0;\n readonly BUILDING_MAX = 1000000;\n\n readonly GROUND_MIN = 0;\n readonly GROUND_MAX = 1000000;\n\n readonly METRES_MIN = 0;\n readonly METRES_MAX = 1000000;\n\n readonly UNITS_MIN = 0;\n readonly UNITS_MAX = 100000;\n\n get agent() {\n return this.$vmx.search.agent;\n }\n\n get page() {\n return this.$vmx.search.searchItemPage;\n }\n\n // Project Phase\n get projectPhases() {\n return this.agent.projectPhases;\n }\n\n set projectPhases(projectPhases) {\n this.onUpdateAgent({ projectPhases });\n }\n\n get projectPhaseCount() {\n return this.page?.projectPhaseCount\n }\n\n isProjectPhaseDisabled(criteria: ProjectPhase) {\n return this.$vmx.user.user.product.allowedProjectPhases.every(pp => criteria.index != pp.index)\n }\n\n // Procurement Phase\n get procurementPhases() {\n return this.agent.procurementPhases;\n }\n\n set procurementPhases(procurementPhases) {\n this.onUpdateAgent({ procurementPhases });\n }\n\n updateCriteria(criteria: Criterion[], typeId: number) {\n var agentCriteria = this.agent.criteria?.filter(criterion => criterion.typeId !== typeId) ?? [];\n agentCriteria = agentCriteria.concat(criteria);\n this.onUpdateAgent({ criteria: agentCriteria });\n }\n \n getAgentCriteriaOfType(typeId: number) {\n return this.agent.criteria?.filter(criterion => criterion.typeId === typeId) ?? [];\n }\n\n getAllowUnspecifiedType(typeId: number) {\n if (!this.agent.allowUnusedCriterionTypes) {\n this.agent.allowUnusedCriterionTypes = [];\n }\n return this.agent.allowUnusedCriterionTypes.some(n => n === typeId);\n }\n\n updateAllowUnspecifiedType(typeId: number, checked: boolean) {\n const allowed = [...this.agent.allowUnusedCriterionTypes];\n if (checked) {\n if (!allowed.some(n => n === typeId)) {\n allowed.push(typeId);\n }\n } else {\n const index = allowed.indexOf(typeId, 0);\n if (index > -1) {\n allowed.splice(index, 1);\n }\n }\n this.onUpdateAgent({allowUnusedCriterionTypes: allowed});\n }\n\n\n\n\n getTypeIdFromTranslation(translation: string): number {\n return this.$vmx.criterion.criterionTypeFromTranslation(translation).id;\n }\n\n\n // Procurement Types\n get procurementTypes() {\n return this.agent.procurementTypes;\n }\n\n set procurementTypes(procurementTypes) {\n this.onUpdateAgent({ procurementTypes })\n }\n\n // Project Start/End\n get projectStart() {\n return this.agent.projectStart;\n }\n\n set projectStart(val) {\n this.onUpdateAgent({\n projectStart: val,\n })\n }\n\n get projectEnd() {\n return this.agent.projectEnd;\n }\n\n set projectEnd(val) {\n this.onUpdateAgent({\n projectEnd: val,\n })\n }\n\n get allowUnspecifiedStartAndEnd() {\n return this.agent.allowUnspecifiedStartAndEnd;\n }\n\n set allowUnspecifiedStartAndEnd(val) {\n this.onUpdateAgent({\n allowUnspecifiedStartAndEnd: val,\n })\n }\n\n // Budget\n get budget() {\n return [\n this.agent.minBudget == null ? null : this.agent.minBudget / this.A_MILLION,\n this.agent.maxBudget == null ? null : this.agent.maxBudget / this.A_MILLION,\n ] as const;\n }\n\n set budget(val) {\n this.onUpdateAgent({\n minBudget: val[0] == this.BUDGET_MIN ? null : val[0] * this.A_MILLION,\n maxBudget: val[1] == this.BUDGET_MAX ? null : val[1] * this.A_MILLION,\n });\n }\n\n get allowUnspecifiedBudget() {\n return this.agent.allowUnspecifiedBudget;\n }\n\n set allowUnspecifiedBudget(val) {\n this.onUpdateAgent({\n allowUnspecifiedBudget: val,\n })\n }\n\n // Size Building\n get sizeBuilding() {\n return [this.agent.minSizeBuilding, this.agent.maxSizeBuilding]\n }\n\n set sizeBuilding([min, max]) {\n this.onUpdateAgent({\n minSizeBuilding: min === this.BUILDING_MIN ? null : min,\n maxSizeBuilding: max === this.BUILDING_MAX ? null : max,\n });\n }\n\n get allowUnspecifiedSize() {\n return this.agent.allowUnspecifiedSize;\n }\n\n set allowUnspecifiedSize(val) {\n this.onUpdateAgent({\n allowUnspecifiedSize: val,\n });\n }\n\n // Size Ground\n get sizeGround() {\n return [this.agent.minSizeGround, this.agent.maxSizeGround];\n }\n\n set sizeGround([min, max]) {\n this.onUpdateAgent({\n minSizeGround: min === this.GROUND_MIN ? null : min,\n maxSizeGround: max === this.GROUND_MAX ? null : max,\n });\n }\n\n get numberOfUnits() {\n return [this.agent.minNumberOfUnits, this.agent.maxNumberOfUnits];\n }\n\n set numberOfUnits([min, max]) {\n this.onUpdateAgent({\n minNumberOfUnits: min === this.UNITS_MIN ? null : min,\n maxNumberOfUnits: max === this.UNITS_MAX ? null : max,\n })\n }\n\n // Public/Private\n get isPublic() {\n return this.agent.isPublic === true ? 'isPublic' : this.agent.isPublic === false ? 'isPrivate' : 'isBoth'\n }\n\n set isPublic(val) {\n this.onUpdateAgent({\n isPublic: val === 'isPublic' ? true : val === 'isPrivate' ? false : null,\n });\n }\n\n isPublicTranslation(isPublic: boolean) {\n\n }\n\n}\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=4a7f3074&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=4a7f3074&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 \"4a7f3074\",\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport { Agent } from '@/interfaces/agent';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Modal } from 'bootstrap';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n ModalAgentSettings,\n },\n})\nexport default class ModalAgentReplace extends Vue {\n chosenAgent: Agent = null;\n loading = true;\n submitting = false;\n error = false;\n\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get agent(): Agent {\n return this.$vmx.modal.agent;\n }\n\n get agents(): Agent[] {\n return this.$vmx.agent.agents;\n }\n\n get modalId(): string {\n return ModalIds.AGENT_REPLACE_MODAL;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.agent) {\n this.hideModal();\n return;\n }\n if (this.agents != null && this.agents.length > 0) {\n this.chosenAgent = this.agents[0];\n }\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n async submit() {\n this.submitting = true;\n try {\n let updatedAgent = {...this.agent};\n updatedAgent.name = this.chosenAgent.name;\n updatedAgent.id = this.chosenAgent.id;\n updatedAgent.mailTime = this.chosenAgent.mailTime;\n updatedAgent.paUserIds = this.chosenAgent.paUserIds;\n\n this.$vmx.agent.pushAgent(updatedAgent);\n\n this.error = false;\n this.submitting = false;\n this.$emit('agentSaved', updatedAgent);\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n openSettingsModal() {\n this.$vmx.modal.openAgentSettingsModal(this.agent);\n }\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PageNavigationBar extends Vue {\n @VModel() page: number;\n @Prop({ required: true }) pageCount: number;\n // @Prop({ required: true }) page: SearchItemPage;\n\n emitPageChange(newPage: number) {\n this.page = newPage;\n this.$emit('pageChanged', newPage);\n }\n\n underlineIfCurrentPage(number: number) {\n return this.page == number ? 'underline' : ''\n }\n}\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';\nimport { Component, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\nimport { Agent } from '@/interfaces/agent';\nimport AgentCriteriaMenu from '@/components/search-components/agent-criteria-menu.vue';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport DropdownOrderBy from '@/components/dropdowns/dropdown-order-by.vue';\nimport ModalAgentReplace from '@/components/modals/modal-agent-replace.vue';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport PageNavigationBar from '@/components/search-components/page-navigation-bar.vue';\nimport { Procurement } from '@/interfaces/procurement';\nimport { Project } from '@/interfaces/project';\nimport SearchInput from '@/components/form-fields/search-input.vue';\nimport SearchItemCard from '@/components/cards/search-item-card.vue';\nimport SearchItemsListView from '@/components/search-components/search-items-list-view.vue';\nimport SearchStore from '@/store/modules/search-store';\n\n\n@Component({\n name: 'searchView',\n components: {\n AgentCriteriaMenu,\n DropdownOrderBy,\n ModalAgentReplace,\n ModalAgentSettings,\n PageNavigationBar,\n SearchInput,\n SearchItemCard,\n SearchItemsListView,\n },\n})\nexport default class SearchView extends Vue {\n @Prop({ required: true }) page: string;\n // private orderBy: TranslateResult = null;\n private isListView = false;\n\n\n @Ref() readonly results: Element;\n\n orderByOptions: [string, string][] = [\n [SearchStore.orderByOptions.published, this.$t('components.sorting.published') as string],\n [SearchStore.orderByOptions.updated, this.$t('components.sorting.updated') as string],\n [SearchStore.orderByOptions.budget, this.$t('components.sorting.contractSum') as string],\n [SearchStore.orderByOptions.bestMatch, this.$t('components.sorting.bestMatch') as string],\n ];\n\n mounted() {\n const page = Number.parseInt(this.page);\n\n if (page == 0) {\n this.$router.push({\n params: { page: this.$vmx.search.page.toString() },\n });\n }\n\n if (page != this.$vmx.search.page) {\n this.$vmx.search.setPage(Number.parseInt(this.page));\n }\n }\n\n get loading() {\n return this.$vmx.search.searchItemPage?.results == null;\n }\n\n // Store Getters\n get agent(): Agent {\n return this.$vmx.search.agent;\n }\n\n get searchItemPage() {\n return this.$vmx.search.searchItemPage;\n }\n\n get searchItemPageResults() {\n return this.$vmx.search.searchItemPage?.results;\n }\n\n get totalResults() {\n if (this.$vmx.search.searchItemPage == null) {\n return '-'.repeat(20);\n }\n return this.$tc('pages.search.results', this.$vmx.search.searchItemPage.totalResults, [\n this.$vmx.search.searchItemPage.totalResults,\n ]);\n }\n\n // FreeSearch\n get freeSearch(): string {\n return this.$vmx.search.agent.freeSearch ?? '';\n }\n\n set freeSearch(freeSearch: string) {\n this.$vmx.search.setAgent({\n ...this.$vmx.search.agent,\n freeSearch: freeSearch,\n });\n }\n\n // isProject\n get isProject() {\n return this.agent.isProcurement ? 'procurementsOnly' : 'all';\n }\n\n set isProject(val) {\n this.onUpdateAgent({\n isProcurement: val === 'procurementsOnly',\n }, null)\n\n //\n //\n // this.$vmx.search.updateAgent({\n // isProcurement: val === 'procurementsOnly',\n // });\n //\n // if (this.pageNumber > 1) {\n // this.pageNumber = 1;\n // }\n }\n\n get orderBy(): string {\n return this.orderByOptions.find(x => x[0] === this.$vmx.search.orderBy)[1];\n }\n\n set orderBy(orderBy: string) {\n const index = this.orderByOptions.findIndex(x => x[1] === orderBy)\n this.$vmx.search.setOrderBy(this.orderByOptions[index][0]);\n if (this.pageNumber > 1) {\n this.pageNumber = 1;\n }\n }\n\n // orderByDescending\n get orderByDesc() {\n if (this.$vmx.search.orderBy == 'bestMatch') {\n return null;\n }\n return this.$vmx.search.orderByDesc ? 'desc' : 'asc';\n }\n\n set orderByDesc(val) {\n this.$vmx.search.setOrderByDesc(val === 'desc');\n if (this.pageNumber > 1) {\n this.pageNumber = 1;\n }\n }\n\n // listView\n\n get listView() {\n return this.isListView ? 'card' : 'list';\n }\n\n set listView(val) {\n this.isListView = val === 'card';\n }\n\n // pageNumber\n get pageNumber() {\n return this.$vmx.search.page;\n }\n\n set pageNumber(page: number) {\n if (page === this.$vmx.search.page) {\n return;\n }\n\n this.$router\n .push({\n params: { page: page.toString() },\n })\n .then(() => {\n this.results?.scrollIntoView();\n });\n }\n\n get pageCount() {\n return this.$vmx.search.searchItemPage?.pageCount ?? 0;\n }\n\n @Watch('page')\n pageChanged() {\n const page = Number.parseInt(this.page);\n\n if (isNaN(page) || page == this.$vmx.search.page) {\n return;\n }\n\n if (page == 0) {\n this.$router.push({\n params: { page: this.$vmx.search.page.toString() },\n });\n return;\n }\n this.$vmx.search.setPage(page);\n }\n\n updateAgent() {\n if (this.pageNumber > 1) {\n this.$router.push({\n params: {\n page: '1',\n },\n });\n }\n }\n\n filterFunc(val: Procurement | Project): boolean {\n return !blacklistUtil.isItemInBlacklists(val, this.$vmx.blacklist.userBlacklists);\n }\n\n async onPersistBlacklist(blacklist: Blacklist): Promise {\n return this.$vmx.blacklist.pushBlacklist(blacklist);\n }\n\n agentSaved(savedAgent: Agent) {\n this.$vmx.search.setAgent(savedAgent);\n }\n\n agentDeleted() {\n this.agent.id = null;\n }\n\n openAgentReplaceModal() {\n this.$vmx.modal.openAgentReplaceModal(this.agent);\n }\n\n openAgentSettingsModal() {\n this.$vmx.modal.openAgentSettingsModal(this.agent);\n }\n\n onUpdateAgent(agent: Partial, typeId?: number) {\n if (agent.criteria && typeId) {\n this.$vmx.search.updateCriteriaForType({ criteria: agent.criteria, typeId })\n } else {\n this.$vmx.search.updateAgent({\n id: null,\n ...agent,\n });\n }\n if (this.pageNumber > 1) {\n this.pageNumber = 1;\n }\n }\n}\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=67a02e64&\"\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:\"inputUsername\",attrs:{\"id\":\"input-username\",\"required\":true,\"label\":_vm.$t('components.inputField.username.text'),\"placeholder\":_vm.$t('components.inputField.username.placeholder'),\"invalid-text\":_vm.$t('components.inputField.username.invalid')},model:{value:(_vm.user.username),callback:function ($$v) {_vm.$set(_vm.user, \"username\", $$v)},expression:\"user.username\"}})],1),_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.mail),callback:function ($$v) {_vm.$set(_vm.user, \"mail\", $$v)},expression:\"user.mail\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('InputPhone',{ref:\"inputPhone\",attrs:{\"number\":_vm.user.phone,\"calling-code\":_vm.user.callingCode,\"required\":true,\"label\":_vm.$t('components.inputField.phone.text'),\"invalid-text\":_vm.$t('components.inputField.phone.invalid')},on:{\"nationalNumber\":_vm.setNumber,\"countryCallingCode\":_vm.setCallingCode}})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport InputPhone from '@/components/form-fields/input-phone.vue';\n\n@Component({\n components: {\n AbstractForm,\n },\n})\nexport default class FormUserSettings extends Vue {\n @Ref() inputUsername: BaseInputField;\n @Ref() inputName: BaseInputField;\n @Ref() inputEmail: BaseInputField;\n @Ref() inputPhone: InputPhone;\n\n initialMail: string = null;\n\n committed = false;\n mailChanged = false;\n\n created() {\n this.initialMail = this.user.mail;\n }\n\n get user() {\n return this.$vmx.user.user;\n }\n\n get formIsValid(): boolean {\n let isValid = this.inputUsername.validate();\n isValid = this.inputName.validate() && isValid;\n isValid = this.inputEmail.validate() && isValid;\n isValid = this.inputPhone.validate() && isValid;\n return isValid;\n }\n\n setNumber(number: string) {\n this.user.phone = number;\n }\n\n setCallingCode(code: string) {\n this.user.callingCode = +code;\n }\n\n async submit() {\n if (this.formIsValid) {\n try {\n this.mailChanged = this.user.mail !== this.initialMail;\n await this.$vmx.user.putUser(this.user);\n\n this.committed = true;\n globalFunctions.timeout(10000).then(() => {\n this.committed = false;\n this.mailChanged = false;\n })\n } catch (error) {\n throw error;\n }\n }\n }\n}\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=53e1203e&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 \"53e1203e\",\n null\n \n)\n\nexport default component.exports","import * as EmailValidator from 'email-validator';\nimport moment from 'moment';\n\nexport class FormValidator {\n constructor() {}\n\n validateLetterNumberString(str: string) {\n if (str.length >= 1 && str.length <= 255 && this.isNumbersAndLetters(str)) {\n return true;\n }\n return false;\n }\n\n validateLetterString(str: string) {\n if (this.isBetween1And255Characters(str) && this.isOnlyLetters(str)) {\n return true;\n }\n return false;\n }\n\n validatePhoneNumber(str: string) {\n const reg = new RegExp('^([+0-9 ]*)$');\n return reg.test(str) && this.isBetween1And255Characters(str);\n }\n\n isBetween1And255Characters(str: string) {\n return str.length >= 1 && str.length <= 255;\n }\n\n isNumbersAndLetters(str: string) {\n const reg = new RegExp('^([a-zæøåA-ZÆØÅ0-9 ]*)$');\n return reg.test(str);\n }\n\n isOnlyLetters(str: string) {\n const reg = new RegExp('^([a-zæøåA-ZÆØÅ ]*)$');\n return reg.test(str);\n }\n\n validateEmail(mail: string) {\n return EmailValidator.validate(mail);\n }\n\n validateDate(date: string) {\n return (\n moment(date, 'DD-MM-yyyy', true).isValid() ||\n moment(date, 'yyyy-MM-DD', true).isValid() ||\n moment(date, 'yyyy.MM.DD', true).isValid() ||\n moment(date, 'DD.MM.yyyy', true).isValid()\n );\n }\n\n validateTime(time: string) {\n return moment(time, 'HH:mm:ss', true).isValid() || moment(time, 'HH:mm', true).isValid();\n }\n\n timeIsBetween(time: string, min: string, max: string) {\n return (\n moment(time, 'HH:mm:ss', true).isSameOrAfter(moment(min, 'HH:mm:ss')) &&\n moment(time, 'HH:mm:ss', true).isSameOrBefore(moment(max, 'HH:mm:ss'))\n );\n }\n}\n\nexport const formValidator = new FormValidator();\n","import { Component, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport FormChangePassword from '@/components/forms/form-change-password.vue';\nimport FormUserSettings from '@/components/forms/form-user-settings.vue';\nimport { formValidator } from '@/util/form-validator';\nimport { globalFunctions } from '@/util/global-functions';\nimport { Modal } from 'bootstrap';\nimport { Product } from '@/interfaces/product';\nimport { User } from '@/interfaces/user';\nimport { userService } from '@/services/restapi/user-service';\n\n@Component({\n components: {\n BaseModalContainer,\n FormChangePassword,\n FormUserSettings,\n },\n})\nexport default class UserSettingsView extends Vue {\n user: User = { ...this.$vmx.user.user };\n initialEmail: string = this.$vmx.user.user.mail;\n password1: string = null;\n password2: string = null;\n showEmailSent = false;\n showEmailSentError = false;\n showCancelSent = false;\n showChangeSent = false;\n submitPressed = false;\n retries = 0;\n\n get validUser(): boolean {\n return (\n this.validUsername &&\n this.validName &&\n this.validPhone &&\n this.validMail &&\n this.validPosition\n );\n }\n\n get validUsername(): boolean {\n if (!this.submitPressed) {\n return null;\n }\n return formValidator.validateLetterNumberString(this.user.username);\n }\n\n get validName(): boolean {\n if (!this.submitPressed) {\n return null;\n }\n return formValidator.isBetween1And255Characters(this.user.name);\n }\n\n get validMail(): boolean {\n if (!this.submitPressed) {\n return null;\n }\n return formValidator.validateEmail(this.user.mail);\n }\n\n get validPhone(): boolean {\n if (!this.submitPressed) {\n return null;\n }\n return formValidator.validatePhoneNumber(this.user.phone);\n }\n\n get validPosition(): boolean {\n if (!this.submitPressed) {\n return null;\n }\n return (\n this.user.position == null ||\n this.user.position == '' ||\n formValidator.validateLetterString(this.user.position)\n );\n }\n\n get invalidUsernameFeedback(): string {\n if (this.user.username.length < 1) {\n return 'Indtast et brugernavn';\n } else if (this.user.username.length > 255) {\n return 'Brugernavnet må maks være 255 tegn';\n }\n }\n\n get invalidNameFeedback(): string {\n if (this.user.name.length < 1) {\n return 'Indtast dit navn';\n } else if (this.user.name.length > 255) {\n return 'Dit navn må maks være 255 tegn';\n } else {\n return 'Navnet må kun indeholde bogstaver';\n }\n }\n\n get invalidPositionFeedback(): string {\n if (this.user.position == null) {\n return '';\n } else if (this.user.position.length < 1) {\n return 'Indtast din stilling';\n } else if (this.user.position.length > 255) {\n return 'Din stilling må maks være 255 tegn';\n } else {\n return 'Stillingen må kun indeholde bogstaver';\n }\n }\n get invalidPasswordFeedback(): string {\n if (this.password1 == null) {\n return '';\n } else if (this.password1 != this.password2) {\n return 'De to kodeord skal være ens';\n } else {\n return 'Kodeordet skal være mindst 8 tegn';\n }\n }\n\n async changePassword() {\n userService.sendChangePasswordEmail().then(\n (success) => {\n this.showEmailSent = true;\n globalFunctions.timeout(5000).then(() => (this.showEmailSent = false));\n },\n (error) => {\n this.showEmailSentError = true;\n globalFunctions.timeout(5000).then(() => (this.showEmailSentError = false));\n },\n );\n }\n\n async cancelSubscription() {\n userService.sendCancelSubscription().then(() => {\n this.showCancelSent = true;\n const element = document.getElementById('cancel-subscription-modal');\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n });\n }\n\n changeSubscription(newSubscription: string) {\n userService.sendChangeSubscription(newSubscription).then(() => {\n this.showChangeSent = true;\n });\n }\n}\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';\nimport AboutView from '@/views/about/about-view.vue';\nimport AccessExpiredView from '@/views/access-expired/access-expired-view.vue';\nimport BlacklistView from '@/views/blacklist/blacklist-view.vue';\nimport BookDemoView from '@/views/book-demo/book-demo-view.vue';\nimport ChangePasswordView from '@/views/change-password/change-password-view.vue';\nimport CompanyListView from '@/views/company-list/company-list-view.vue';\nimport CompanyView from '@/views/company/company-view.vue';\nimport ContactView from '@/views/contact/contact-view.vue';\nimport CookiePolicyView from '@/views/cookie-policy/cookie-policy-view.vue';\nimport DashboardView from '@/views/dashboard/dashboard-view.vue';\nimport EmailChangeView from '@/views/email-change/email-change-view.vue';\nimport Error404View from '@/views/error-404/error-404-view.vue';\nimport HelpView from '@/views/help/help-view.vue';\nimport HomeView from '@/views/home/home-view.vue';\nimport i18n from '@/localization/i18n';\nimport ImpersonateView from '@/views/impersonate/impersonate-view.vue';\nimport InvalidSessionView from '@/views/invalid-session/invalid-session-view.vue';\nimport Jura from '@/views/jura/jura-view.vue';\nimport Layout from '@/views/layouts/layout/layout.vue';\nimport LayoutDefault from '@/views/layouts/layout-default/layout-default.vue';\nimport LayoutLoggedIn from '@/views/layouts/layout-logged-in/layout-logged-in.vue';\nimport LayoutPrint from '@/views/layouts/layout-print/layout-print.vue';\nimport ListView from '@/views/list-view/list-view.vue';\nimport LoginView from '@/views/login/login.vue';\nimport PricesView from '@/views/prices/prices-view.vue';\nimport PrintProcurementView from '@/views/print-procurement/print-procurement-view.vue';\nimport PrintProjectView from '@/views/print-project/print-project-view.vue';\nimport ProcurementView from '@/views/procurement-view/procurement-view.vue';\nimport ProjectView from '@/views/project-view/project-view.vue';\nimport { RouterNames } from '@/util/enums/router-names';\nimport SearchCompanyView from '@/views/search-company/search-company-view.vue';\nimport SearchView from '@/views/search/search-view.vue';\nimport ServicesView from '@/views/services/services-view.vue';\nimport { Tooltip } from 'bootstrap';\nimport UserSettingsView from '@/views/user-settings/user-settings-view.vue';\nimport { vmx } from '@/store';\nimport Vue from 'vue';\n\n/**\n * @author Jais Christiansen\n */\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n // Dashboard (Logged In)\n {\n path: '',\n name: RouterNames.LOGGED_IN_DASHBOARD,\n component: DashboardView,\n meta: { title: 'pages.dashboard.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Dashboard (Logged In)\n {\n path: '/dashboard',\n name: RouterNames.LOGGED_IN_DASHBOARD,\n component: DashboardView,\n meta: { title: 'pages.dashboard.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Search (Logged In)\n {\n path: '/search/:page',\n name: RouterNames.LOGGED_IN_SEARCH,\n component: SearchView,\n props: (route) => ({\n ...route.params,\n }),\n meta: { title: 'pages.search.pageTitle', autoscroll: true, header: 'compact', requireLogin: true },\n },\n\n // Project View (Logged In)\n {\n path: '/project/:id',\n name: RouterNames.LOGGED_IN_PROJECT_VIEW,\n props: true,\n component: ProjectView,\n meta: { title: 'pages.project.pageTitle', limitedAccess: true, header: 'compact', requireLogin: true },\n },\n\n // Procurement View (Logged In)\n {\n path: '/procurement/:id',\n name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\n props: true,\n component: ProcurementView,\n meta: { title: 'pages.procurement.pageTitle', header: 'compact', autoscroll: true, requireLogin: true },\n },\n\n // Blacklist (Logged In)\n {\n path: '/blacklist',\n name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\n component: BlacklistView,\n meta: { title: 'pages.blacklist.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Settings (Logged In)\n {\n path: '/settings',\n name: RouterNames.LOGGED_IN_USER_SETTINGS,\n component: UserSettingsView,\n meta: { title: 'pages.userSettings.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // List view (Logged In)\n {\n path: '/list/:id',\n name: RouterNames.LOGGED_IN_LIST_VIEW,\n props: true,\n component: ListView,\n meta: { title: 'pages.lists.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Company Search (Logged In)\n {\n path: '/search-company',\n name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\n component: SearchCompanyView,\n meta: { title: 'pages.companySearch.pageTitle', autoscroll: true, header: 'compact', requireLogin: true },\n },\n\n // Company View (Logged In)\n {\n path: '/company/:id',\n name: RouterNames.LOGGED_IN_COMPANY_VIEW,\n props: true,\n component: CompanyView,\n meta: { title: 'pages.company.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Company List View (Logged In)\n {\n path: '/company-list/:id',\n name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW,\n props: true,\n component: CompanyListView,\n meta: { title: 'pages.companyList.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // Access expired (Logged In)\n {\n path: '/access-expired',\n name: RouterNames.LOGGED_IN_ACCESS_EXPIRED,\n component: AccessExpiredView,\n meta: { title: 'pages.accessExpired.pageTitle', limitedAccess: true, header: 'compact', requireLogin: true },\n },\n\n // Change password\n {\n path: '/change-password/:resetToken',\n name: RouterNames.LOGGED_OUT_CHANGE_PASSWORD,\n component: ChangePasswordView,\n props: (route) => ({\n ...route.params,\n }),\n meta: { title: 'pages.changePassword.pageTitle', requireLogin: false },\n },\n\n // Invalid Session\n {\n path: '/invalid-session/',\n name: RouterNames.INVALID_SESSION,\n component: InvalidSessionView,\n meta: { title: 'pages.accessExpired.pageTitle', header: 'compact', requireLogin: false },\n },\n\n // Imporsanate\n {\n path: '/impersonate/:token',\n name: RouterNames.LOGGED_OUT_IMPERSONATE_USER,\n component: ImpersonateView,\n props: (route) => ({\n ...route.params,\n }),\n meta: { title: 'pages.impersonate.pageTitle', requireLogin: false },\n },\n\n // Print Procurement (Logged In)\n {\n path: '/print-procurement/:id',\n name: RouterNames.PRINT_PROCUREMENT,\n props: true,\n component: PrintProcurementView,\n meta: { title: 'pages.procurement.pageTitle', hideHeaderFooter: true, requireLogin: true },\n },\n\n // Print Project (Logged In)\n {\n path: '/print-project/:id',\n name: RouterNames.PRINT_PROJECT,\n props: true,\n component: PrintProjectView,\n meta: { title: 'pages.project.pageTitle', hideHeaderFooter: true, requireLogin: true },\n },\n\n // Help (Logged In)\n {\n path: '/help',\n name: RouterNames.LOGGED_IN_HELP,\n component: HelpView,\n meta: { title: 'pages.help.pageTitle', header: 'compact', requireLogin: true },\n },\n\n // 404\n {\n path: '*',\n name: RouterNames.ERROR_NOT_FOUND,\n component: Error404View,\n meta: { title: 'pages.error404.pageTitle', requireLogin: false },\n },\n]\n\n// const routesOld: Array = [\n// // LoggedIn\n// {\n// path: '',\n// component: LayoutLoggedIn,\n// meta: {\n// requiresAuth: true,\n// },\n// children: [\n// // Dashboard\n// {\n// path: '',\n// name: RouterNames.LOGGED_IN_DASHBOARD,\n// component: DashboardView,\n// meta: { title: 'pages.dashboard.pageTitle', header: 'compact' },\n// },\n//\n// // Settings\n// {\n// path: '/settings',\n// name: RouterNames.LOGGED_IN_USER_SETTINGS,\n// component: UserSettingsView,\n// meta: { title: 'pages.userSettings.pageTitle', header: 'compact' },\n// },\n//\n// // Blacklist\n// {\n// path: '/blacklist',\n// name: RouterNames.LOGGED_IN_BLACKLIST_VIEW,\n// component: BlacklistView,\n// meta: { title: 'pages.blacklist.pageTitle', header: 'compact' },\n// },\n//\n// // List view\n// {\n// path: '/list/:id',\n// name: RouterNames.LOGGED_IN_LIST_VIEW,\n// props: true,\n// component: ListView,\n// meta: { title: 'pages.lists.pageTitle', header: 'compact' },\n// },\n//\n// // Company List View\n// {\n// path: '/company-list/:id',\n// name: RouterNames.LOGGED_IN_COMPANY_LIST_VIEW,\n// props: true,\n// component: CompanyListView,\n// meta: { title: 'pages.companyList.pageTitle', header: 'compact' },\n// },\n//\n// // Help\n// {\n// path: '/help',\n// name: RouterNames.LOGGED_IN_HELP,\n// component: HelpView,\n// meta: { title: 'pages.help.pageTitle', header: 'compact' },\n// },\n//\n// // Procurement View\n// {\n// path: '/procurement/:id',\n// name: RouterNames.LOGGED_IN_PROCUREMENT_VIEW,\n// props: true,\n// component: ProcurementView,\n// meta: { title: 'pages.procurement.pageTitle', header: 'compact', autoscroll: true },\n// },\n//\n// // Company Search\n// {\n// path: '/search-company',\n// name: RouterNames.LOGGED_IN_COMPANY_SEARCH,\n// component: SearchCompanyView,\n// meta: { title: 'pages.companySearch.pageTitle', autoscroll: true, header: 'compact' },\n// },\n//\n// // Search\n// {\n// path: '/search/:page',\n// name: RouterNames.LOGGED_IN_SEARCH,\n// component: SearchView,\n// props: (route) => ({\n// ...route.params,\n// }),\n// meta: { title: 'pages.search.pageTitle', autoscroll: true, header: 'compact' },\n// },\n//\n// // Project View\n// {\n// path: '/project/:id',\n// name: RouterNames.LOGGED_IN_PROJECT_VIEW,\n// props: true,\n// component: ProjectView,\n// meta: { title: 'pages.project.pageTitle', limitedAccess: true, header: 'compact' },\n// },\n//\n// // Company View\n// {\n// path: '/company/:id',\n// name: RouterNames.LOGGED_IN_COMPANY_VIEW,\n// props: true,\n// component: CompanyView,\n// meta: { title: 'pages.company.pageTitle', header: 'compact' },\n// },\n//\n// // Access expired\n// {\n// path: '/access-expired',\n// name: RouterNames.LOGGED_IN_ACCESS_EXPIRED,\n// component: AccessExpiredView,\n// meta: { title: 'pages.accessExpired.pageTitle', limitedAccess: true, header: 'compact' },\n// },\n// ],\n// },\n//\n// // Print\n// {\n// path: '',\n// component: LayoutPrint,\n// meta: {\n// requiresAuth: true,\n// },\n// props: true,\n// children: [\n// {\n// path: '/print-procurement/:id',\n// name: RouterNames.PRINT_PROCUREMENT,\n// props: true,\n// component: PrintProcurementView,\n// meta: { title: 'pages.procurement.pageTitle' },\n// },\n// {\n// path: '/print-project/:id',\n// name: RouterNames.PRINT_PROJECT,\n// props: true,\n// component: PrintProjectView,\n// meta: { title: 'pages.project.pageTitle' },\n// },\n// ],\n// },\n//\n// // LoggedOut\n// {\n// path: '',\n// component: LayoutDefault,\n// meta: {\n// requiresAuth: false,\n// },\n// children: [\n// // Invalid Session\n// {\n// path: '/invalid-session/',\n// name: RouterNames.INVALID_SESSION,\n// component: InvalidSessionView,\n// meta: { title: 'pages.accessExpired.pageTitle', header: 'compact' },\n// },\n//\n// // Cookie Policy\n// {\n// path: '/cookie-policy',\n// name: RouterNames.LOGGED_OUT_COOKIE_POLICY,\n// component: CookiePolicyView,\n// meta: { title: 'pages.cookiePolicy.pageTitle' },\n// },\n//\n// // Jura\n// {\n// path: '/jura',\n// name: RouterNames.LOGGED_OUT_JURA,\n// component: Jura,\n// meta: { title: 'pages.jura.pageTitle' },\n// },\n//\n// // Change Password\n// {\n// path: '/change-password/:resetToken',\n// name: RouterNames.LOGGED_OUT_CHANGE_PASSWORD,\n// component: ChangePasswordView,\n// props: (route) => ({\n// ...route.params,\n// }),\n// meta: { title: 'pages.changePassword.pageTitle' },\n// },\n//\n// // Impersonate\n// {\n// path: '/impersonate/:token',\n// name: RouterNames.LOGGED_OUT_IMPERSONATE_USER,\n// component: ImpersonateView,\n// props: (route) => ({\n// ...route.params,\n// }),\n// meta: { title: 'pages.impersonate.pageTitle' },\n// },\n//\n// // Confirmations Email\n// {\n// path: '/confirmations/email',\n// name: RouterNames.LOGGED_OUT_UPDATE_EMAIL,\n// component: EmailChangeView,\n// props: (route) => ({\n// ...route.query,\n// }),\n// meta: { title: 'pages.emailChange.pageTitle' },\n// },\n//\n// // // Login\n// // {\n// // path: '',\n// // name: RouterNames.LOGIN,\n// // component: LoginView,\n// // meta: { title: 'pages.accessExpired.pageTitle', header: 'compact' },\n// // },\n//\n// // 404\n// {\n// path: '*',\n// name: RouterNames.ERROR_NOT_FOUND,\n// component: Error404View,\n// },\n// ],\n// },\n// ]\n\nconst router = new VueRouter({\n mode: 'history',\n routes: routes,\n scrollBehavior(to, from, savedPosition) {\n if (to.name === RouterNames.LOGGED_IN_SEARCH && from.name === RouterNames.LOGGED_IN_SEARCH) {\n return null;\n }\n\n if (to.meta?.autoscroll === true && savedPosition != null) {\n return savedPosition;\n } else if (to.hash) {\n return { selector: to.hash };\n }\n\n return { x: 0, y: 0 };\n },\n});\n\n// Authentication guard for routes with authentication required\nrouter.beforeEach((to, from, next) => {\n document.querySelectorAll('div[role=tooltip]').forEach(element => {\n element.remove();\n })\n\n\n console.log(to.path)\n\n\n if (to.path == null) {\n next({ name: RouterNames.LOGGED_IN_DASHBOARD })\n }\n\n next();\n // if (!to.path || to.path == '/') {\n // next({ name: vmx.session.isLoggedinUser ? RouterNames.LOGGED_IN_DASHBOARD : RouterNames.LOGGED_OUT_HOME });\n // } else {\n // next();\n // }\n});\n\nrouter.afterEach((to, from) => {\n Vue.nextTick(() => {\n document.title = (i18n.t(to.meta.title) as string) || to.name;\n });\n});\n\nexport default router;\n","import 'vuex-class-component';\nimport * as storage from '../storage';\nimport { action } from 'vuex-class-component';\nimport { cookieUtils } from '@/util/cookie-utils';\nimport { createModule } from '../preloader';\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\nimport { RawLocation } from 'vue-router';\nimport router from '@/router';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { userService } from '@/services/restapi/user-service';\nimport { vmx } from '..';\n\nexport default class SessionStore extends createModule('session') {\n get isLoggedIn(): boolean {\n return this.sessionCookie != null && (this.isLoggedinUser || this.isLoggedInLimitedAccess);\n }\n\n get isLoggedinUser(): boolean {\n return this.sessionCookie != null && vmx.user.user != null;\n }\n\n get isLoggedInLimitedAccess(): boolean {\n return this.sessionCookie != null && vmx.limitedAccess.limitedAccess != null;\n }\n\n @action\n async init(): Promise {\n vmx.language.updateLanguage(vmx.language.language);\n\n // this.fetchDefaultData();\n\n const isCurrenVersion = await this.fetchVersionCheck();\n\n if (!isCurrenVersion && this.sessionCookie != null) {\n alert('A new version of Projektagenten is available.\\nPlease log in again');\n storage.clearStorage();\n await this.loginOut();\n return;\n }\n\n if (vmx.user.user != null && this.sessionCookie == null) {\n await this.loginOut();\n return;\n }\n\n if (vmx.limitedAccess.limitedAccess != null && this.sessionCookie == null) {\n await this.loginOut();\n return;\n }\n\n await vmx.user.fetchUser();\n\n if (vmx.user.user?.id != null) {\n this.fetchLoginData();\n return;\n }\n\n await vmx.limitedAccess.fetchLimitedAccess()\n }\n\n @action\n async loginIn(loginDetails: LoginDetails): Promise {\n await vmx.limitedAccess.clear(); // In case of limited access still being in local\n\n await vmx.user.login(loginDetails);\n await this.pushVersionCheck();\n await this.fetchLoginData();\n }\n\n @action\n async impersonate({\n username,\n password,\n token,\n }: {\n username: string;\n password: string;\n token: string;\n }) {\n await vmx.user.impersonate({ username, password, token });\n await this.pushVersionCheck();\n await router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\n }\n\n @action\n async loginOut(redirect?: RawLocation) {\n this.deleteCookie('session');\n storage.removeStorage('user');\n vmx.search.clearAgent();\n\n if (redirect == null) {\n // await router.push({ name: RouterNames.LOGGED_OUT_HOME})\n // location.reload()\n const href = router.resolve({ name: RouterNames.LOGGED_IN_DASHBOARD }).href;\n location.assign(href);\n } else if (typeof redirect == 'string') {\n // await router.push({ name: redirect })\n // location.reload()\n const href = router.resolve({ name: redirect }).href;\n location.assign(href);\n } else {\n // await router.push(redirect)\n // location.reload();\n const href = router.resolve(redirect).href;\n location.assign(href);\n }\n }\n\n @action\n async panic(msg: string) {\n this.deleteCookie('session')\n vmx.user.clearUser();\n vmx.search.clearAgent();\n window.stop();\n\n router.push({ name: RouterNames.LOGGED_IN_DASHBOARD }).then(() => {\n window.alert(msg);\n window.location.reload();\n })\n }\n\n private get sessionCookie(): string {\n return cookieUtils.getCookie('session');\n }\n\n @action\n private async deleteCookie(name: string) {\n document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;Path=/;';\n }\n\n @action\n private async fetchDefaultData() {\n return Promise.all([\n vmx.product.fetchProducts().then(() => { }),\n vmx.product.fetchProductsFeatures().then(() => { }),\n ])\n }\n\n @action\n private async fetchLoginData() {\n return Promise.all([\n vmx.user.fetchColleagues().then(() => { }),\n vmx.list.fetchLists().then(() => { }),\n vmx.agent.fetchAgents().then(() => { }),\n vmx.companyAgent.fetchCompanyAgents().then(() => { }),\n vmx.country.fetchCountries().then(() => { }),\n vmx.criterion.fetchCriterionTypes().then(() => { }),\n vmx.blacklist.fetchBlacklists().then(() => { }),\n vmx.companyList.fetchCompanyLists().then(() => { }),\n vmx.procurementPhase.fetchProcurementPhases().then(() => { }),\n vmx.projectPhase.fetchProjectPhases().then(() => { }),\n vmx.procurementType.fetchProcurementTypes().then(() => { }),\n vmx.role.fetchRoles().then(() => { }),\n vmx.search.fetchSearchItemPage().then(() => { }),\n ]);\n }\n\n @action\n private async fetchVersionCheck(): Promise {\n const currentVersion = (await import('../../../package.json')).version?.split('.');\n const localVersion = storage.getStorage('version')?.split('.');\n\n return localVersion != null && currentVersion != null && currentVersion[0] === localVersion[0];\n }\n\n @action\n private async pushVersionCheck(): Promise {\n const currentVersion = (await import('../../../package.json')).version;\n console.log('Setting version: ', currentVersion);\n storage.setStorage('version', currentVersion);\n }\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { ResponseCodes } from '@/util/enums/response-codes';\nimport router from '@/router';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { User } from '@/interfaces/user';\n\nconst api = '/auth';\n\nexport class AuthService extends AbstractService {\n session: number = 24 * 7;\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public login = async (username: string, password: string, rememberMe: boolean): Promise => {\n const body = {\n username,\n password,\n };\n const value = await this.post(api, body);\n if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\n this.setToken(value.headers.jwt, rememberMe ? this.session : null);\n return value.data;\n }\n throw value.status;\n // return this.post(api, body).then(\n // (value) => {\n // if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\n // this.setToken(value.headers.jwt, rememberMe ? this.session : null);\n // return value.data;\n // }\n // throw value.status;\n // },\n // (error) => {\n // throw error;\n // },\n // );\n };\n\n public isValidToken = async (jwt: string): Promise => {\n return this.get(api + '/isValidToken/' + jwt).then(\n (value) => {\n return value.data;\n },\n (error) => {\n throw error;\n },\n );\n };\n\n public impersonate = async (\n adminUsername: string,\n adminPassword: string,\n token: string,\n ): Promise => {\n return this.post(`${api}/impersonate`, { adminUsername, adminPassword, token }).then(\n (value) => {\n if (ResponseCodes.is2xx(value.status) && value.headers.jwt) {\n this.setToken(value.headers.jwt, null);\n localStorage.setItem('user', JSON.stringify(value.data));\n router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\n location.reload();\n return value.data;\n }\n throw value.status;\n },\n (error) => {\n throw error;\n },\n );\n };\n}\n\nexport const authService = new AuthService(apiConfig);\n","import { createModule, preserve } from '../preloader';\nimport { getStorage, removeStorage, setStorage } from '../storage';\nimport { action } from 'vuex-class-component';\nimport { authService } from '@/services/restapi/auth-service';\nimport { LoginDetails } from '@/interfaces/non-entities/login-details';\nimport { User } from '@/interfaces/user';\nimport { userService } from '@/services/restapi/user-service';\n\nexport default class UserStore extends createModule('user') {\n private userData = null as User;\n private userPromise = null as Promise;\n\n private colleaguesData = null as User[];\n private colleaguesPromise = null as Promise;\n\n private loadingUserData: boolean = null;\n\n get user() {\n if (this.userPromise == null) {\n this.fetchUser();\n }\n\n if (this.userData == null) {\n return getStorage('user');\n }\n\n return this.userData;\n }\n\n get colleagues(): User[] {\n return this.colleaguesData;\n }\n\n get hasColleagues(): boolean {\n return (\n this.colleaguesData != null &&\n this.colleaguesData.some((colleague) => colleague.id !== this.user?.id)\n );\n }\n\n get hasCompanyAccess(): boolean {\n return this.user?.product?.companyEnabled ?? false;\n }\n\n get hasProduct(): boolean {\n return this.user != null && !this.user.product.basic;\n }\n\n get loadingUser(): boolean {\n return this.loadingUserData;\n }\n\n @action\n async fetchUser(): Promise {\n if (this.userData != null) {\n this.loadingUserData = false;\n return this.userData;\n }\n\n if (this.userPromise != null) {\n return this.userPromise;\n }\n\n this.userPromise = userService.getUser();\n this.loadingUserData = true;\n this.userPromise.then((user) => {\n this.loadingUserData = false;\n this.setUser(user)\n });\n\n if (getStorage('user') != null) {\n const user = getStorage('user');\n this.setUser(user);\n\n this.loadingUserData = false;\n return user;\n }\n\n return this.userPromise;\n }\n\n @action\n async login(loginDetails: LoginDetails): Promise {\n const user = await authService.login(loginDetails.username, loginDetails.password, loginDetails.rememberMe);\n this.setUser(user);\n return user;\n }\n\n @action\n async impersonate(args: { username: string; password: string; token: string }) {\n const user = await authService.impersonate(args.username, args.password, args.token);\n this.setUser(user);\n return user;\n }\n\n @action\n async putUser(user: User): Promise {\n const updatedUser = await userService.putUser(user);\n this.setUser(updatedUser);\n return updatedUser;\n }\n\n @action\n async updateEmail(payload: { email: string; code: string }): Promise {\n await userService.updateEmail(payload.email, payload.code);\n\n this.setUser({\n ...this.user,\n mail: payload.email,\n });\n\n return null;\n }\n\n @action\n async clearUser() {\n this.userData = null;\n removeStorage('user');\n }\n\n @action\n async setColleagues(users: User[]) {\n this.colleaguesData = users;\n }\n\n @action\n async fetchColleagues(): Promise {\n return (\n this.colleaguesData ??\n preserve(this.colleaguesPromise, userService.getUsersInCompany, this.setColleagues)\n );\n }\n\n @action\n private async setUser(user: User): Promise {\n this.userData = user;\n setStorage('user', user);\n return;\n }\n}\n","import { createProxy, extractVuexModule } from 'vuex-class-component';\nimport AgentStore from './modules/agent-store';\nimport BlacklistStore from './modules/blacklist-store';\nimport CompanyAgentStore from './modules/company-agent-store';\nimport CompanyListStore from './modules/company-list-store';\nimport CountryStore from './modules/country-store';\nimport CriterionStore from './modules/criterion-store';\nimport DomainStore from './modules/domain-store';\nimport FileStore from './modules/file-store';\nimport LanguageStore from './modules/language-store';\nimport LimitedAccessStore from './modules/limited-access-store';\nimport ListStore from './modules/list-store';\nimport ModalStore from './modules/modal-store';\nimport ProcurementPhaseStore from './modules/procurement-phase-store';\nimport ProcurementTypeStore from './modules/procurement-type-store';\nimport ProductStore from './modules/product-store';\nimport ProjectPhaseStore from './modules/project-phase-store';\nimport RoleStore from './modules/role-store';\nimport SearchCompanyStore from './modules/search-company-store';\nimport SearchStore from './modules/search-store';\nimport SessionStore from './modules/session-store';\nimport UserStore from './modules/user-store';\nimport Vue from 'vue';\nimport Vuex from 'vuex';\n('./modules/session-store');\n\nVue.use(Vuex);\n\nexport const store = new Vuex.Store({\n modules: {\n ...extractVuexModule(AgentStore),\n ...extractVuexModule(BlacklistStore),\n ...extractVuexModule(CompanyAgentStore),\n ...extractVuexModule(CompanyListStore),\n ...extractVuexModule(CountryStore),\n ...extractVuexModule(CriterionStore),\n ...extractVuexModule(DomainStore),\n ...extractVuexModule(FileStore),\n ...extractVuexModule(LanguageStore),\n ...extractVuexModule(LimitedAccessStore),\n ...extractVuexModule(ListStore),\n ...extractVuexModule(ModalStore),\n ...extractVuexModule(ProcurementPhaseStore),\n ...extractVuexModule(ProcurementTypeStore),\n ...extractVuexModule(ProductStore),\n ...extractVuexModule(ProjectPhaseStore),\n ...extractVuexModule(RoleStore),\n ...extractVuexModule(SearchCompanyStore),\n ...extractVuexModule(SearchStore),\n ...extractVuexModule(SessionStore),\n ...extractVuexModule(UserStore),\n },\n});\n\nexport const vmx = {\n agent: createProxy(store, AgentStore),\n blacklist: createProxy(store, BlacklistStore),\n companyAgent: createProxy(store, CompanyAgentStore),\n companyList: createProxy(store, CompanyListStore),\n country: createProxy(store, CountryStore),\n criterion: createProxy(store, CriterionStore),\n domain: createProxy(store, DomainStore),\n file: createProxy(store, FileStore),\n language: createProxy(store, LanguageStore),\n limitedAccess: createProxy(store, LimitedAccessStore),\n list: createProxy(store, ListStore),\n modal: createProxy(store, ModalStore),\n procurementPhase: createProxy(store, ProcurementPhaseStore),\n procurementType: createProxy(store, ProcurementTypeStore),\n product: createProxy(store, ProductStore),\n projectPhase: createProxy(store, ProjectPhaseStore),\n role: createProxy(store, RoleStore),\n search: createProxy(store, SearchStore),\n searchCompany: createProxy(store, SearchCompanyStore),\n session: createProxy(store, SessionStore),\n user: createProxy(store, UserStore),\n};\n","import { Domain } from '../interfaces/domain';\nimport domainsJSON from '../../resources/domains/domains.json';\nimport { vmx } from '@/store';\n\nexport const domains: Domain[] = domainsJSON;\nconst [label, sld, tld] = window.location.hostname.split('.');\n\nexport function findDomain(): Domain {\n const host = window.location.hostname;\n const domains: Domain[] = domainsJSON;\n if (host === 'localhost') {\n const tld: string = new URL(location.toString()).searchParams.get('domain');\n const domain: Domain = domains.filter((domain) => domain.tld == tld)[0]\n ?? domains.filter((domain) => domain.tld == 'dk')[0]\n return domain;\n }\n\n const domain: Domain = domains.filter(\n (domain: Domain) => domain.tld === tld && domain.sld === sld,\n )[0];\n\n if (domain == null) {\n return domains.filter((domain) => domain.tld == 'dk')[0]\n }\n\n return domain;\n}\n\nexport const chooseDomain = (domain: Domain) => {\n if (location.hostname === 'localhost') {\n const url: URL = new URL(location.toString())\n url.searchParams.set('domain', domain.tld)\n vmx.language.updateLanguage(domain.languageId);\n location.href = url.toString();\n return;\n }\n const [root] = location.host.split('.');\n location.href = `https://${root}.${domain.sld}.${domain.tld}`;\n}\n\nexport const getWordpressLink = (path: string) => {\n // https://projektagenten.byhand.nu/en/book-demo/\n\n const domain = findDomain();\n // const url = `https://projektagenten.byhand.nu/${domain.tld}`\n const url = 'https://projektagenten.byhand.nu'\n\n return path == null ? url : `${url}/${path}`;\n}\n\nexport const domain: Domain = findDomain();\n","import {\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faAngleUp,\n faArchive,\n faArrowDown,\n faArrowLeft,\n faArrowUp,\n faBan,\n faBars,\n faBell,\n faBinoculars,\n faCalendarPlus,\n faCheck,\n faChevronDoubleDown,\n faChevronDoubleLeft,\n faChevronDoubleRight,\n faChevronDoubleUp,\n faChevronDown,\n faChevronRight,\n faChevronUp,\n faCircle,\n faClipboard,\n faCog,\n faCommentAltPlus,\n faCookieBite,\n faCreditCard,\n faDoorOpen,\n faEllipsisV,\n faEnvelope,\n faExternalLink,\n faEyeSlash,\n faFileDownload,\n faFileSignature,\n faFlagCheckered,\n faGlobe,\n faGlobeEurope,\n faHandshake,\n faHardHat,\n faHeadset,\n faHome,\n faInfoCircle,\n faLandmark,\n faLightbulb,\n faLink,\n faList,\n faLock,\n faMegaphone,\n faMinus,\n faNewspaper,\n faPencil,\n faPlus,\n faPollPeople,\n faQuestion,\n faSearch,\n faShareAlt,\n faSortAmountDown,\n faSortAmountUp,\n faStar,\n faStickyNote,\n faTachometer,\n faTimes,\n faTimesCircle,\n faToolbox,\n faTools,\n faTrashAlt,\n faUnlock,\n faUnlockAlt,\n faUser,\n} from '@fortawesome/pro-light-svg-icons';\nimport {\n faBorderAll,\n faBan as fasBan,\n faCircle as fasCircle,\n faQuestion as fasQuestion,\n faStar as fasStar,\n faThLarge,\n} from '@fortawesome/free-solid-svg-icons';\nimport {\n faCircle as farCircle,\n} from '@fortawesome/free-regular-svg-icons';\nimport { library } from '@fortawesome/fontawesome-svg-core';\n\nexport default function () {\n library.add(\n faAngleDown,\n faAngleLeft,\n faAngleRight,\n faAngleUp,\n faArchive,\n faArrowLeft,\n faArrowDown,\n faArrowUp,\n faBan,\n faBars,\n faBell,\n faBinoculars,\n faBorderAll,\n faCheck,\n faChevronDoubleDown,\n faThLarge,\n faChevronDoubleUp,\n faChevronDoubleRight,\n faChevronDoubleLeft,\n faChevronRight,\n faChevronUp,\n faChevronDown,\n faCircle,\n faClipboard,\n faCog,\n faCommentAltPlus,\n faCookieBite,\n faCreditCard,\n faDoorOpen,\n faEllipsisV,\n faEnvelope,\n faEyeSlash,\n faExternalLink,\n faFileDownload,\n faFileSignature,\n faFlagCheckered,\n faGlobeEurope,\n faHandshake,\n faHardHat,\n faHeadset,\n faHome,\n faInfoCircle,\n faLandmark,\n faLightbulb,\n faLink,\n faList,\n faLock,\n faMegaphone,\n faMinus,\n faNewspaper,\n faPencil,\n faPlus,\n faPollPeople,\n farCircle,\n fasCircle,\n fasBan,\n fasQuestion,\n faQuestion,\n faSearch,\n faShareAlt,\n faSortAmountDown,\n faSortAmountUp,\n faStar,\n fasStar,\n faStickyNote,\n faTachometer,\n faTimes,\n faTimesCircle,\n faTools,\n faToolbox,\n faTrashAlt,\n faUnlock,\n faUnlockAlt,\n faUser,\n faCalendarPlus,\n faGlobe,\n );\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseAlert extends Vue {\n @Prop({ default: 'primary' }) type: string;\n @Prop() paddingY: string;\n\n get leftSideClasses() {\n return [\n 'left-side',\n `bg-${this.type}`,\n ]\n }\n\n get rightSideClasses() {\n return [\n 'right-side',\n 'flex-grow-1',\n 'alert',\n `alert-${this.type}`,\n this.paddingY ? `py-${this.paddingY}` : '',\n ];\n }\n}\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\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseContainer extends Vue {\n @Prop({ default: true }) showHeader: boolean;\n @Prop({ default: true }) showBody: boolean;\n @Prop({ default: 'trademark'}) headerBgColor: string;\n @Prop({ default: 'white'}) headerTextColor: string;\n @Prop({ default: 'white' }) bodyBgColor: string;\n @Prop({ default: 'dark' }) bodyTextColor: string;\n @Prop({ default: 4 }) paddingX: number;\n @Prop() headerPaddingX: number;\n @Prop({ default: 4 }) paddingY: number;\n @Prop({ default: false }) noPadding: boolean;\n @Prop({ default: 2 }) gutter: number;\n @Prop({ default: false }) fullHeight: boolean;\n @Prop({ default: 0 }) rounded: number;\n @Prop() bodyStyleClasses: string;\n\n get headerClasses() {\n return [\n `bg-${this.headerBgColor}`,\n `text-${this.headerTextColor}`,\n this.noPadding ? '' : this.headerPaddingX ? `px-${this.headerPaddingX}` : `px-${this.paddingX}`,\n this.showBody ? `mb-${this.gutter}` : '',\n // `py-${this.headerPaddingY}`,\n ];\n }\n\n get bodyClasses() {\n return [\n `bg-${this.bodyBgColor}`,\n `text-${this.bodyTextColor}`,\n this.noPadding ? '' : `px-${this.paddingX}`,\n this.noPadding ? '' : `py-${this.paddingY}`,\n this.rounded ? `rounded rounded-${this.rounded}` : '',\n this.bodyStyleClasses,\n ];\n }\n\n}\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\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\n\nlet uid = 0;\n\n@Component\nexport default class BaseInputCheckbox extends Vue {\n @VModel() selected: boolean;\n @Prop({ default: 'Missing Text' }) text: string;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: null }) onClick: (value?: Boolean) => void;\n @Ref() input: HTMLInputElement;\n\n click(el: any) {\n if (this.onClick) this.onClick(el.target.checked);\n this.$emit(el.target.checked ? 'checked' : 'unchecked');\n }\n\n get uid(): string {\n uid += 1;\n return 'checkbox' + uid;\n }\n}\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 {\n constructor() {}\n\n public isNumeric = (text: string, notNull = true): boolean => {\n if (typeof text !== 'string') {\n return false;\n }\n\n if (notNull && (text == null || text.trim() === '')) {\n return false;\n }\n\n return !Number.isNaN(Number(text));\n };\n\n public includesNumber = (text: string): boolean => {\n if (typeof text !== 'string') {\n return false;\n }\n\n if (text.trim() === '') {\n return false;\n }\n\n return /\\d/.test(text);\n };\n\n public includesSpecialCharacter = (text: string): boolean => {\n const format = /[`!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?~]/;\n\n return format.test(text);\n };\n}\n\nexport const stringUtils = new StringUtils();\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Ref, VModel, Vue, Watch } from 'vue-property-decorator';\nimport { stringUtils } from '@/util/string-utils';\n\n@Component\nexport default class BaseInputField extends Vue {\n @VModel() text: string;\n @Prop() label: string;\n @Prop({ default: 'text' }) type : 'number' | 'password' | 'email' | 'text';\n @Prop() placeholder: string;\n @Prop() invalidText: string;\n\n @Prop({ default: 'never' }) liveValidate: 'always' | 'never' | 'onlyOnValid' | 'onlyOnInvalid';\n\n @Prop() inputGroupTextBefore: string;\n @Prop() inputGroupTextAfter: string;\n\n @Prop({ default: false }) required: boolean\n @Prop({ default: false }) skipNormalValidation: boolean;\n @Prop({ default: false }) disabled: boolean;\n @Ref() input: HTMLInputElement;\n @Prop({ default: null }) validator: (val: string) => boolean;\n @Prop({ default: null }) isValidCb: (val: boolean) => void;\n\n public validate(text?: string): boolean {\n const isValid = this.isValid(text ?? this.text);\n\n if (this.liveValidate === 'always') {\n this.setValidClass(isValid);\n } else if (this.liveValidate === 'onlyOnValid') {\n this.setValidClass(isValid ? true : null);\n } else if (this.liveValidate === 'onlyOnInvalid') {\n this.setValidClass(!isValid ? false : null);\n }\n return isValid;\n }\n\n @Watch('liveValidate')\n public liveValidateChange() {\n this.validate();\n }\n\n set inputField(text: string) {\n this.text = text;\n this.validate(text);\n }\n\n get inputField(): string {\n return this.text;\n }\n\n public isValid(text: string) {\n if (!this.required) {\n return true;\n }\n\n let isValid = true;\n if (this.type === 'number') {\n isValid = this.validateNumber(text);\n } else if (this.type === 'password') {\n isValid = this.validatePassword(text);\n } else if (this.type === 'email') {\n isValid = this.validateEmail(text);\n } else {\n isValid = this.validateText(text);\n }\n\n if (this.validator != null) {\n isValid = this.validator(text);\n }\n\n if (this.isValidCb != null) {\n this.isValidCb(isValid);\n }\n\n return isValid;\n }\n\n public setValidClass(isValid: boolean) {\n if (isValid != null) {\n this.input.classList.add(isValid ? 'is-valid' : 'is-invalid');\n this.input.classList.remove(isValid ? 'is-invalid' : 'is-valid');\n } else {\n this.input.classList.remove('is-valid');\n this.input.classList.remove('is-invalid');\n }\n }\n\n private validateText(text: string): boolean {\n let isValid = !this.required || (!!text && text.length > 0);\n return isValid;\n }\n\n private validateNumber(text: string): boolean {\n return stringUtils.isNumeric(text, this.required);\n }\n\n private validatePassword(text: string): boolean {\n let isValid = !this.required || (!!text && text.length > 0);\n if (!this.skipNormalValidation) {\n isValid = isValid && !!text && text.length >= 8;\n }\n return isValid;\n }\n\n private validateEmail(text: string): boolean {\n let isValid = true;\n if (this.required || (!!text && text.length > 0)) {\n const format = /^[\\w-.]+@([\\w-]+\\.)+[\\w-]{2,6}$/;\n isValid = isValid && format.test(text);\n isValid = this.skipNormalValidation || isValid;\n }\n return isValid;\n }\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\nlet uid = 0;\n\n@Component\nexport default class BaseInputRadio extends Vue {\n @VModel() selected: any;\n @Prop({required: true}) radioValue: any;\n @Prop({required: true}) text: string;\n @Prop({ default: false }) disabled: boolean;\n\n get uid(): string {\n uid += 1;\n return 'radio' + uid;\n }\n}\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\nimport { Component, Prop, VModel, Vue } from 'vue-property-decorator';\n\n@Component({})\nexport default class BaseInputSelect extends Vue {\n @VModel({ required: true }) model: string | string[]\n @Prop({ default: null }) options: string[];\n\n @Prop({ default: 'primary' }) variant: string;\n @Prop({ default: '2' }) buttonPaddingY: string;\n @Prop({ default: '3' }) buttonPaddingX: string;\n @Prop({ default: () => {[]} }) labelClass: string[];\n // @Prop({ default: false }) disabled: boolean;\n\n get multiSelect() {\n return this.model.constructor.name === 'Array'\n }\n\n get disabled() {\n return this.model == null;\n }\n\n get optionsValues() {\n if (this.options != null) {\n return this.options;\n }\n return Object.keys(this.$slots);\n }\n\n isChecked(val: string) {\n if (this.disabled) {\n return;\n }\n\n if (!this.multiSelect) {\n return val == this.model;\n } else {\n return (this.model as string[]).some((val0) => val === val0);\n }\n }\n\n clicked(val: string) {\n if (this.disabled) {\n return;\n }\n\n if (!this.multiSelect) {\n this.model = val;\n } else if ((this.model as string[]).some((val0) => val0 === val)) {\n this.model = (this.model as string[]).filter((val0) => val0 !== val);\n } else {\n this.model = [ ...this.model, val ];\n }\n }\n}\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\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class BaseInputTextarea extends Vue {\n @VModel() text: string;\n @Prop({ required: true }) id: string;\n @Prop() label: string;\n @Prop() inputGroupTextBefore: string;\n @Prop() inputGroupTextAfter: string;\n @Prop() placeholder: string;\n @Prop() invalidText: string;\n @Prop({ default: false }) required: boolean\n @Prop({ default: null }) validator: (val: string) => boolean;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: 3 }) rows: number;\n @Ref() textArea: HTMLTextAreaElement;\n\n public validate(): boolean {\n let isValid = true;\n if (this.required) {\n isValid = !!this.text && this.text.length > 0;\n }\n if (this.validator != null) {\n isValid = isValid && this.validator(this.text);\n }\n this.setValidClass(isValid);\n return isValid;\n }\n\n public setValidClass(isValid: boolean) {\n if (isValid != null && isValid != undefined) {\n this.textArea.classList.add(isValid ? 'is-valid' : 'is-invalid');\n this.textArea.classList.remove(isValid ? 'is-invalid' : 'is-valid');\n } else {\n this.textArea.classList.remove('is-valid');\n this.textArea.classList.remove('is-invalid');\n }\n }\n}\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\nimport * as domainUtils from '@/util/domain-utils';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport { VueTelInput } from 'vue-tel-input';\n\n@Component({\n components: {\n VueTelInput,\n },\n})\nexport default class InputPhone extends Vue {\n @Prop() number: string;\n @Prop({ default: 45 }) callingCode: number;\n @Prop() label: string;\n @Prop({ default: false }) disabled: boolean;\n @Prop({ default: false }) required: boolean;\n @Prop({ default: null }) validator: (val: string) => boolean;\n @Prop() invalidText: string;\n\n input: string = null;\n\n valid: boolean = null;\n isValidated = false;\n\n mounted() {\n const start: string = this.callingCode ? `+${this.callingCode}` : '45';\n if (this.number && !this.number.startsWith(start)) {\n this.input = `+${this.callingCode ? this.callingCode : '45'}${this.number}`\n }\n }\n\n get computedInput() {\n if (this.input && !this.input.startsWith('+')) {\n this.input = `+45${this.input}`;\n }\n return this.input;\n }\n\n get inputOptions() {\n return {\n required: this.required,\n styleClasses: this.inputStyleClasses,\n showDialCode: true,\n }\n }\n\n get inputStyleClasses() {\n return this.isValidated && this.valid !== null\n ? `form-control ${this.valid ? 'is-valid' : 'is-invalid'}`\n : 'form-control';\n }\n\n get preferredCountries() {\n return this.$vmx.domain.domains.map(d => d.tld);\n }\n\n get domainCountry() {\n return domainUtils.domain.tld;\n }\n\n phoneInput(number: string, phoneOutput: any) {\n this.valid = phoneOutput.valid;\n // this.input = phoneOutput.number;\n // this.input = number;\n this.$emit('nationalNumber', phoneOutput.nationalNumber);\n this.$emit('countryCallingCode', phoneOutput.countryCallingCode);\n this.$emit('number', phoneOutput.number);\n this.$emit('formatted', phoneOutput.formatted);\n }\n\n countryChanged(countryObject: any) {\n this.$emit('countryChange', +(countryObject.dialcode as string));\n }\n\n public validate(): boolean {\n if (this.validator != null) {\n this.valid = this.valid && this.validator(this.input);\n }\n\n this.isValidated = true;\n return this.valid;\n }\n}\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\nimport { Component, Prop, Ref, VModel, Vue } from 'vue-property-decorator';\nimport { globalFunctions } from '@/util/global-functions';\n\n@Component\nexport default class InputTags extends Vue {\n @VModel() tags: any[];\n @Prop({ required: true }) options: any[];\n @Prop() placeholder: string;\n @Prop() title: string;\n @Prop({ default: true }) canClearAll: boolean;\n @Prop({ default: true }) bordered: boolean;\n @Prop({ default: 'white' }) backgroundColor: string;\n @Prop({ default: 'secondary-background' }) tagColor: string;\n @Prop({ default: (e: any):string => e }) displayProp: Function;\n @Prop() chooseAllLabel: string;\n @Prop() clearLabel: string;\n @Ref() inputField: HTMLInputElement;\n @Ref() dropdown: HTMLUListElement;\n searchText = '';\n hoverIndex: -1;\n showDropdown = false;\n inputFocus = false;\n dropdownFocus = false;\n\n mounted() {\n this.inputField.addEventListener('focusin', () => {\n this.inputFocus = true;\n this.showDropdown = true;\n });\n this.inputField.addEventListener('focusout', () => {\n this.inputFocus = false;\n globalFunctions.timeout(50).then(() => {\n if (!this.dropdownFocus) {\n this.showDropdown = false;\n this.hoverIndex = -1\n }\n })\n });\n this.dropdown.addEventListener('focusin', () => {\n this.dropdownFocus = true;\n });\n this.dropdown.addEventListener('focusout', () => {\n this.dropdownFocus = false;\n this.showDropdown = false;\n })\n }\n\n get computedTitle(): string {\n return this.title ? this.title : (this.$t('components.selectTagInput.text') as string);\n }\n\n get computedPlaceholder(): string {\n return this.placeholder ? this.placeholder : (this.$t('components.selectTagInput.placeholder') as string);\n }\n\n get computedChooseAllLabel(): string {\n return this.chooseAllLabel ? this.chooseAllLabel : (this.$t('components.selectTagInput.selectAll') as string);\n }\n\n get computedClearLabel(): string {\n return this.clearLabel ? this.clearLabel : (this.$t('components.selectTagInput.clear') as string);\n }\n\n get ulClassList(): string[] {\n return [\n 'overflow-x-auto',\n 'd-flex',\n 'flex-wrap',\n 'list-reset',\n 'p-1',\n 'p-1',\n 'm-0',\n 'w-auto',\n ]\n }\n\n get matchingOptions(): any[] {\n return this.options.filter((option) => {\n return !this.tags.includes(option) && (this.displayProp(option) as string).toLowerCase().startsWith(this.searchText.toLowerCase());\n });\n }\n\n get dropdownClassList(): string[] {\n return [\n 'position-absolute',\n 'w-100',\n 'overflow-x-auto',\n 'overflow-y-scroll',\n 'appearance-none',\n 'text-start',\n 'list-reset',\n 'bg-white',\n 'rounded',\n 'border',\n 'border-secondary',\n 'dropdown',\n ]\n }\n\n dropdownItemClassList(index: number): string[] {\n return [\n 'dropdown-item',\n index === this.hoverIndex ? 'dropdown-hover' : '',\n ];\n }\n\n addOption(index: number) {\n const option = this.matchingOptions[index];\n if (!this.tags.includes(option)) {\n this.tags.push(option);\n this.searchText = '';\n this.showDropdown = false;\n }\n }\n\n addSearchOption() {\n if (\n this.options.some(option => this.displayProp(option) === this.searchText)\n && !this.tags.some(tag => this.displayProp(tag) === this.searchText)\n ) {\n this.tags.push(this.options.find(option => this.displayProp(option) === this.searchText));\n this.searchText = '';\n }\n }\n\n removeOption(index: number) {\n if (this.tags && this.tags.length > 0) {\n this.tags.splice(index, 1);\n }\n }\n\n selectAll() {\n this.options.forEach((option) => {\n if (!this.tags.some(tag => this.displayProp(tag) === this.displayProp(option))) {\n this.tags.push(option)\n }\n });\n }\n\n removeAll() {\n this.tags = [];\n }\n}\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('ModalCompanyAgentDelete'),_c('ModalCompanyAgentReplace'),_c('ModalCompanyAgentSettings'),_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.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport { Agent } from '@/interfaces/agent';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Modal } from 'bootstrap';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n ModalAgentSettings,\n },\n})\nexport default class ModalAgentReplace extends Vue {\n loading = true;\n submitting = false;\n error = false;\n\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get agent(): Agent {\n return this.$vmx.modal.agent;\n }\n\n get modalId(): string {\n return ModalIds.AGENT_DELETE_MODAL;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.agent) {\n this.hideModal();\n return;\n }\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n async deleteAgent() {\n this.submitting = true;\n try {\n await this.$vmx.agent.deleteAgent(this.agent);\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n openAgentSettingsModal() {\n this.$vmx.modal.openAgentSettingsModal(this.agent);\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { globalFunctions } from '@/util/global-functions';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalBlacklistRemove extends Vue {\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.dataObject) {\n this.hideModal();\n return;\n }\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n get modalId(): string {\n return ModalIds.BLACKLIST_REMOVE_MODAL;\n }\n\n get dataObject(): Project | Procurement | ProcurementReference {\n return this.$vmx.modal.blacklistObject;\n }\n\n get blacklist() {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\n return this.$vmx.blacklist.blacklists\n ?.filter((blacklist: Blacklist) =>\n isProcurement || (blacklist?.projectId === this.dataObject.id),\n )\n ?.filter((blacklist: Blacklist) =>\n !isProcurement || (blacklist?.procurementId === this.dataObject.id),\n )\n ?.pop() ?? null;\n }\n\n async deleteBlacklist() {\n if (this.blacklist) {\n this.submitting = true;\n try {\n await this.$vmx.blacklist.deleteBlacklist(this.blacklist.id);\n this.error = false;\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n } else {\n this.error = true;\n }\n }\n\n openBlacklistSettingsModal() {\n this.$vmx.modal.openBlacklistSettingsModal(this.dataObject);\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n}\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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Blacklist } from '@/interfaces/blacklist';\nimport { blacklistService } from '@/services/restapi/blacklist-service';\nimport { formatUtils } from '@/util/format-utils';\nimport { globalFunctions } from '@/util/global-functions';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalBlacklistSettings extends Vue {\n blacklist: Blacklist = null;\n users: User[] = [];\n selectedUsers: User[] = [];\n\n submitting = false;\n error = false;\n loading = true;\n\n mounted() {\n this.setEventListeners();\n }\n\n activated() {\n this.setEventListeners();\n }\n\n setEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.dataObject) {\n this.hideModal();\n return;\n }\n this.checkLoaded();\n }\n\n @Watch('$vmx.user.colleagues')\n @Watch('$vmx.user.user')\n checkLoaded() {\n const initLoading = !this.dataObject || this.colleagues == null || this.user == null;\n if (!initLoading) {\n this.blacklist = this.blacklistFromStore;\n this.users = this.colleagues;\n\n this.selectedUsers = this.users?.filter(\n (colleage) => this.blacklist?.usersIds?.some((userId) => userId === colleage.id),\n );\n this.selectedUsers = this.selectedUsers.some((user) => user.id === this.user.id)\n ? this.selectedUsers\n : this.selectedUsers.concat(this.user);\n this.loading = false;\n }\n }\n\n get modalId(): string {\n return ModalIds.BLACKLIST_SETTINGS_MODAL;\n }\n\n get dataObject(): Project | Procurement | ProcurementReference {\n return this.$vmx.modal.blacklistObject;\n }\n\n get user(): User {\n return this.$vmx.user.user;\n }\n\n get colleagues(): User[] {\n return this.$vmx.user.colleagues;\n }\n\n get selectedUsersFromStore(): User[] {\n const selectedUsers = this.users?.filter(\n (colleage) => this.blacklist?.usersIds?.some((userId) => userId === colleage.id),\n );\n\n return selectedUsers.some((user) => user.id === this.user.id)\n ? selectedUsers\n : selectedUsers.concat(this.user);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n get blacklistFromStore(): Blacklist {\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\n return this.$vmx.blacklist.blacklists\n ?.filter((blacklist: Blacklist) =>\n isProcurement || (blacklist?.projectId === this.dataObject.id),\n )\n ?.filter((blacklist: Blacklist) =>\n !isProcurement || (blacklist?.procurementId === this.dataObject.id),\n )\n ?.pop() ?? this.createNewBlacklist(isProcurement);\n }\n\n get isUserOnBlacklist(): boolean {\n return this.blacklist != null\n && (this.blacklist?.usersIds.some((userId) => userId == this.$vmx.user.user.id) ?? false);\n }\n\n private createNewBlacklist(isProcurement: boolean): Blacklist {\n const newBlacklist: Blacklist = {\n id: null,\n created: formatUtils.formatDate(new Date(), 'YYYY-MM-DD HH:mm'),\n usersIds: [this.$vmx.user.user.id],\n userIsOnList: true,\n }\n if (isProcurement) {\n newBlacklist.procurementId = this.dataObject.id;\n } else {\n newBlacklist.projectId = this.dataObject.id;\n }\n return newBlacklist;\n }\n\n async persistBlacklist() {\n this.submitting = true;\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\n const blCopy = this.blacklist && this.blacklist.id ? {...this.blacklist} : this.createNewBlacklist(isProcurement);\n blCopy.usersIds = this.selectedUsers.map((user) => user.id);\n let newBlacklist: Blacklist = null;\n try {\n if (blCopy.id) {\n newBlacklist = await blacklistService.editBlacklist(blCopy);\n } else {\n newBlacklist = await blacklistService.createBlacklist(blCopy);\n }\n if (newBlacklist != null) {\n this.error = false;\n this.$vmx.blacklist.pushBlacklist(newBlacklist);\n this.hideModal();\n } else {\n this.error = true;\n }\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n}\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',{attrs:{\"modal-id\":_vm.modalId,\"bs-backdrop\":\"static\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyAgent.remove.title', [_vm.companyAgent ? _vm.companyAgent.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.companyAgent.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.openCompanyAgentSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('general.cancel'))+\" \")])],1),_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"on-click-cb\":_vm.deleteCompanyAgent}},[_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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { Modal } from 'bootstrap';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n ModalAgentSettings,\n },\n})\nexport default class ModalAgentReplace extends Vue {\n loading = true;\n submitting = false;\n error = false;\n\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get companyAgent(): CompanyAgent {\n return this.$vmx.modal.companyAgent;\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_AGENT_DELETE_MODAL;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n async deleteCompanyAgent() {\n this.submitting = true;\n try {\n await this.$vmx.companyAgent.deleteCompanyAgent(this.companyAgent);\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.companyAgent) {\n this.hideModal();\n return;\n }\n this.loading = false;\n }\n\n openCompanyAgentSettingsModal() {\n this.$vmx.modal.openCompanyAgentSettingsModal(this.companyAgent);\n }\n}\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-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-company-agent-delete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-agent-delete.vue?vue&type=template&id=6ab1b784&scoped=true&\"\nimport script from \"./modal-company-agent-delete.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-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 \"6ab1b784\",\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.companyAgent.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.companyAgents),function(companyAgent){return _c('BaseInputRadio',{key:companyAgent.id,attrs:{\"radio-value\":companyAgent,\"text\":companyAgent.name},model:{value:(_vm.chosenCompanyAgent),callback:function ($$v) {_vm.chosenCompanyAgent=$$v},expression:\"chosenCompanyAgent\"}})}),1),_c('div',{staticClass:\"col-12\"},[_c('BaseButton',{attrs:{\"bs-dismiss\":\"modal\"},on:{\"click\":function($event){return _vm.openCompanyAgentSettingsModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('components.modals.companyAgent.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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport { Modal } from 'bootstrap';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n ModalAgentSettings,\n },\n})\nexport default class ModalAgentReplace extends Vue {\n chosenCompanyAgent: CompanyAgent = null;\n loading = true;\n submitting = false;\n error = false;\n\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get companyAgent(): CompanyAgent {\n return this.$vmx.modal.companyAgent;\n }\n\n get companyAgents(): CompanyAgent[] {\n return this.$vmx.companyAgent.companyAgents;\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_AGENT_REPLACE_MODAL;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.companyAgent) {\n this.hideModal();\n return;\n }\n if (this.companyAgents != null && this.companyAgents.length > 0) {\n this.chosenCompanyAgent = this.companyAgents[0];\n }\n this.loading = false;\n }\n\n openCompanyAgentSettingsModal() {\n this.$vmx.modal.openCompanyAgentSettingsModal(this.companyAgent);\n }\n\n async submit() {\n this.submitting = true;\n try {\n let updatedCompanyAgent = {...this.companyAgent};\n updatedCompanyAgent.name = this.chosenCompanyAgent.name;\n updatedCompanyAgent.id = this.chosenCompanyAgent.id;\n updatedCompanyAgent.mailTime = this.chosenCompanyAgent.mailTime;\n updatedCompanyAgent.paUserIds = this.chosenCompanyAgent.paUserIds;\n\n this.$vmx.companyAgent.pushCompanyAgent(updatedCompanyAgent);\n\n this.error = false;\n this.submitting = false;\n this.$emit('companyAgentSaved', updatedCompanyAgent);\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n}\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-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-company-agent-replace.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-agent-replace.vue?vue&type=template&id=1e21da8e&scoped=true&\"\nimport script from \"./modal-company-agent-replace.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-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 \"1e21da8e\",\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-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.companyAgent.settings.titleEdit'))+\" \")]},proxy:true}])},[(_vm.loading)?_c('BaseLoadingSpinner'):(_vm.companyAgentCopy)?_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.companyAgentCopy.id)?_c('div',{staticClass:\"col-auto\"},[_c('BaseButton',{attrs:{\"variant\":\"outline-cta\",\"bs-dismiss\":\"modal\",\"disabled\":_vm.submitting},on:{\"click\":function($event){return _vm.openCompanyAgentDeleteModal()}}},[_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.companyAgent.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:\"companyAgentName\",attrs:{\"id\":\"companyAgentName\",\"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.companyAgentCopy.name),callback:function ($$v) {_vm.$set(_vm.companyAgentCopy, \"name\", $$v)},expression:\"companyAgentCopy.name\"}})],1),_c('div',{staticClass:\"col-12\"},[_c('FormMailTime',{model:{value:(_vm.companyAgentCopy.mailTime),callback:function ($$v) {_vm.$set(_vm.companyAgentCopy, \"mailTime\", $$v)},expression:\"companyAgentCopy.mailTime\"}})],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\n\n\n\n\n\n\n\n\n\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '../form-fields/base-input-field.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { CompanyAgent } from '@/interfaces/search/company-agent';\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n FormMailTime,\n },\n})\nexport default class ModalAgentSettings extends Vue {\n @Ref() companyAgentName: BaseInputField;\n\n companyAgentCopy: CompanyAgent = null;\n users: User[] = [];\n selectedUsers: User[] = this.$vmx.user.colleagues;\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get buttonRowClasses() {\n return [\n `justify-content-${this.companyAgentCopy.id ? 'between' : 'end'}`,\n ];\n }\n\n get companyAgent(): CompanyAgent {\n return this.$vmx.modal.companyAgent;\n }\n \n get formIsValid() {\n return this.companyAgentName.validate() && this.selectedUsers.length > 0;\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_AGENT_SETTINGS_MODAL;\n }\n\n\n get validAgentName(): boolean {\n return this.companyAgentCopy.name.trim().length >= 1 && this.companyAgentCopy.name.trim().length <= 100;\n }\n\n @Watch('selectedUsers')\n selectedUsersChanged() {\n this.companyAgentCopy.paUserIds = this.selectedUsers.map(u => u.id);\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.companyAgent) {\n this.hideModal();\n return;\n }\n this.companyAgentCopy = {...this.companyAgent};\n this.setUsers();\n this.loading = false;\n }\n\n private setUsers() {\n const user = this.$vmx.user.user as User;\n this.users = this.$vmx.user.colleagues;\n if (this.companyAgentCopy.id) {\n this.selectedUsers = this.users.filter(u => this.companyAgentCopy.paUserIds.some(userId => userId === u.id));\n } else {\n this.selectedUsers = [user];\n }\n }\n\n openCompanyAgentDeleteModal() {\n this.$vmx.modal.openCompanyAgentDeleteModal(this.companyAgent);\n }\n\n async submit() {\n if (this.formIsValid) {\n try {\n this.submitting = true;\n\n const newAgent =\n this.companyAgentCopy.id == null\n ? await this.$vmx.companyAgent.postCompanyAgent(this.companyAgentCopy)\n : await this.$vmx.companyAgent.pushCompanyAgent(this.companyAgentCopy);\n\n if (this.$route.name === RouterNames.LOGGED_IN_COMPANY_SEARCH) {\n this.$vmx.searchCompany.setCompanyAgent(newAgent);\n }\n this.error = false;\n this.submitting = false;\n this.hideModal();\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n}\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-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-company-agent-settings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./modal-company-agent-settings.vue?vue&type=template&id=c816ebe0&scoped=true&\"\nimport script from \"./modal-company-agent-settings.vue?vue&type=script&lang=ts&\"\nexport * from \"./modal-company-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 \"c816ebe0\",\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n },\n})\nexport default class ModalCompanyListAdd extends Vue {\n chosenCompanyList: CompanyList = null;\n originalCompanyLists: CompanyList[] = null;\n loading = true;\n submitting = false;\n error = false;\n loadingError = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get buttonRowClasses() {\n return [\n 'justify-content-end',\n `justify-content-sm-${this.originalCompanyLists ? 'between' : 'end'}`,\n ];\n }\n\n get company(): Company {\n return this.$vmx.modal.company;\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_LIST_ADD_MODAL;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.company) {\n this.hideModal();\n return;\n }\n this.originalCompanyLists = null;\n this.$vmx.companyList.fetchCompanyLists().then(() => {\n if (this.$vmx.companyList.companyLists != null && this.$vmx.companyList.companyLists.length > 0) {\n const listsWithCompany = this.$vmx.companyList.companyListsWithCompany(this.company);\n if (listsWithCompany != null && listsWithCompany.length > 0) {\n this.chosenCompanyList = listsWithCompany[0];\n this.originalCompanyLists = listsWithCompany;\n } else {\n this.chosenCompanyList = this.$vmx.companyList.companyLists[0];\n }\n }\n }).catch(() => {\n this.loadingError = true;\n }).finally(() => this.loading = false);\n }\n\n openCompanyListRemoveModal() {\n this.$vmx.modal.openCompanyListRemoveModal(this.company);\n }\n\n openCompanyListSettingsModal() {\n this.$vmx.modal.openCompayListSettingsModal({ companyList: null, company: this.company })\n }\n\n async submit() {\n if (this.submitting) {\n return;\n }\n this.submitting = true;\n if (\n !this.originalCompanyLists == null\n && !this.originalCompanyLists.some(companyList => companyList.id != this.chosenCompanyList.id)\n ) {\n this.submitting = false;\n return;\n }\n\n const companyListsToUpdate: CompanyList[] = [];\n\n if (this.originalCompanyLists && this.originalCompanyLists.length > 0) {\n const removedLists = this.originalCompanyLists\n .filter(companyList =>\n companyList.id != this.chosenCompanyList.id,\n );\n removedLists.forEach((companyList) => {\n companyList.companies = companyList.companies.filter(company => company.id != this.company.id);\n companyListsToUpdate.push(companyList);\n });\n }\n\n if (\n this.chosenCompanyList.companies\n && !this.chosenCompanyList.companies.some(company => company.id === this.company.id)\n ) {\n this.chosenCompanyList.companies.push({\n id: this.company.id,\n name: this.company.companyName,\n })\n companyListsToUpdate.push(this.chosenCompanyList);\n }\n\n try {\n for (const companyListToUpdate of companyListsToUpdate) {\n const companyList = await this.$vmx.companyList.putCompanyList(companyListToUpdate);\n if (companyList) {\n this.error = false;\n } else {\n this.error = true;\n break;\n }\n }\n if (!this.error) {\n this.hideModal();\n }\n this.submitting = false;\n } catch {\n this.error = true;\n this.submitting = false;\n }\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalCompanyListRemove extends Vue {\n selectedCompanyLists: CompanyList[] = [];\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get company(): Company {\n return this.$vmx.modal.company;\n }\n\n get companyListsWithCompany(): CompanyList[] {\n return this.$vmx.companyList.companyListsWithCompany(this.company);\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_LIST_REMOVE_MODAL;\n }\n\n addCompanyList(companyList: CompanyList) {\n if (!this.selectedContainsCompanyList(companyList.id)) {\n this.selectedCompanyLists.push(companyList);\n }\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n createCompanyListName(companyList: CompanyList): string {\n const length = companyList.paUserIds.length;\n if (length > 1) {\n return `${companyList.name} (${this.$tc('components.iconBar.list.sharedWidth', length - 1, [length - 1])})`;\n }\n return companyList.name;\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (this.companyListsWithCompany.length > 0) {\n this.selectedCompanyLists.push(this.companyListsWithCompany[0]);\n }\n this.loading = false;\n }\n\n removeCompanyList(id: number) {\n if (this.selectedContainsCompanyList(id)) {\n const index = this.selectedCompanyLists.findIndex((companyList) => companyList.id === id);\n if (index >= 0) {\n this.selectedCompanyLists.splice(index, 1);\n }\n }\n }\n\n async submit() {\n if (this.selectedCompanyLists.length <= 0) {\n return;\n }\n this.submitting = true;\n this.error = false;\n try {\n for (const selectedCompanyList of this.selectedCompanyLists) {\n let newCompanyList: CompanyList = null;\n const index = selectedCompanyList.companies.findIndex(com => com.id == this.company.id);\n if (index >= 0) {\n selectedCompanyList.companies.splice(index, 1);\n newCompanyList = await this.$vmx.companyList.putCompanyList(selectedCompanyList);\n if (!newCompanyList) {\n this.error = true;\n break;\n }\n }\n }\n if (!this.error) {\n this.$vmx.companyList.refetchCompanyLists();\n this.hideModal();\n }\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n selectedContainsCompanyList(id: number): boolean {\n return this.selectedCompanyLists.some(companyList => companyList.id === id);\n }\n}\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\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Company } from '@/interfaces/company';\nimport { CompanyList } from '@/interfaces/company-list';\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\nimport { MailTime } from '@/interfaces/enums/mail-time';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n FormMailTime,\n },\n})\nexport default class ModalCompanyListSettings extends Vue {\n @Ref() companyListName: BaseInputField;\n companyListCopy: CompanyList = null;\n listsWithCompany: CompanyList[] = null;\n users: User[] = [];\n selectedUsers: User[] = [];\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get buttonRowClasses() {\n return [\n `justify-content-${this.companyList ? 'between' : 'end'}`,\n ];\n }\n\n get company(): Company {\n return this.$vmx.modal.company;\n }\n\n get companyList(): CompanyList {\n return this.$vmx.modal.companyList;\n }\n\n get deleteModalId(): string {\n return `delete-${this.modalId}`;\n }\n\n get formIsValid(): boolean {\n return this.companyListName.validate() && this.selectedUsers.length > 0;\n }\n\n get modalId(): string {\n return ModalIds.COMPANY_LIST_SETTINGS_MODAL;\n }\n\n @Watch('selectedUsers')\n selectedUsersChanged() {\n this.companyListCopy.paUserIds = this.selectedUsers.map(x => x.id);\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n \n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal(this.modalId);\n }\n }\n\n async createNewList(): Promise {\n const newCompanyList: CompanyList = {\n id: null,\n name: '',\n mailTime: MailTime.Daily,\n companies: [],\n paUserIds: [],\n }\n if (this.company) {\n newCompanyList.companies = [{\n id: this.company.id,\n name: this.company.companyName,\n }];\n }\n return newCompanyList;\n }\n\n async deleteCompanyList() {\n this.submitting = true;\n try {\n await this.$vmx.companyList.deleteCompanyList(this.companyListCopy.id)\n this.hideModal(this.deleteModalId);\n if (this.$route.name === RouterNames.LOGGED_IN_COMPANY_LIST_VIEW) {\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD});\n }\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n async getOriginalCompanyLists() {\n if (this.company) {\n await this.$vmx.companyList.fetchCompanyLists();\n if (this.$vmx.companyList.companyLists != null && this.$vmx.companyList.companyLists.length > 0) {\n this.listsWithCompany = this.$vmx.companyList.companyListsWithCompany(this.company)\n .filter(companyList => companyList.id != this.companyListCopy.id);\n }\n }\n }\n\n hideModal(modal: string) {\n const element = document.getElementById(modal);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (this.companyList) {\n this.companyListCopy = {...this.companyList};\n this.setUsers();\n this.getOriginalCompanyLists().then(() => {\n this.loading = false;\n });\n } else {\n this.createNewList().then((newCompanyList) => {\n this.companyListCopy = newCompanyList;\n this.setUsers();\n this.getOriginalCompanyLists().then(() => {\n this.loading = false;\n });\n });\n }\n }\n\n private nameValidator(name: string): boolean {\n return name.trim().length >= 1 && name.trim().length <= 100;\n }\n\n openModal(id: string) {\n const element = document.getElementById(id);\n const modal = new Modal(element);\n modal.show();\n }\n\n private setUsers() {\n const user = this.$vmx.user.user as User;\n this.users = this.$vmx.user.colleagues;\n if (this.companyListCopy.id) {\n this.selectedUsers = this.users.filter(x => this.companyListCopy.paUserIds.some(paUserId => paUserId === x.id));\n } else {\n this.selectedUsers = [user];\n }\n }\n\n async submit() {\n if (this.formIsValid) {\n this.submitting = true;\n try {\n\n const companyListsToUpdate: CompanyList[] = [];\n\n if (this.listsWithCompany && this.listsWithCompany.length > 0) {\n const removedLists = this.listsWithCompany\n .filter(companyList =>\n companyList.id != this.companyListCopy.id,\n );\n removedLists.forEach((companyList) => {\n companyList.companies = companyList.companies.filter(company => company.id != this.company.id);\n companyListsToUpdate.push(companyList);\n });\n }\n\n for (const companyListToUpdate of companyListsToUpdate) {\n const companyList = await this.$vmx.companyList.putCompanyList(companyListToUpdate);\n if (companyList) {\n this.error = false;\n } else {\n this.error = true;\n return;\n }\n }\n\n if (this.companyListCopy.id) {\n await this.$vmx.companyList.putCompanyList(this.companyListCopy);\n this.error = false;\n this.submitting = false;\n this.hideModal(this.modalId);\n } else {\n await this.$vmx.companyList.postCompanyList(this.companyListCopy);\n this.error = false;\n this.submitting = false;\n this.hideModal(this.modalId);\n }\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n },\n})\nexport default class ModalListAdd extends Vue {\n chosenList: List = null;\n originalLists: List[] = null;\n loading = true;\n submitting = false;\n error = false;\n loadingError = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get buttonRowClasses() {\n return [\n 'justify-content-end',\n `justify-content-sm-${this.originalLists ? 'between' : 'end'}`,\n ];\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (!this.dataObject) {\n this.hideModal();\n return;\n }\n this.originalLists = null;\n this.$vmx.list.fetchLists().then(() => {\n if (this.hasList()) {\n const listsWithObject = this.$vmx.list.listsWithObject(this.dataObject);\n if (listsWithObject != null && listsWithObject.length > 0) {\n this.chosenList = listsWithObject[0];\n this.originalLists = listsWithObject;\n } else {\n this.chosenList = this.$vmx.list.lists[0];\n }\n }\n }).catch(() => {\n this.loadingError = true;\n }).finally(() => this.loading = false);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n get modalId(): string {\n return ModalIds.LIST_ADD_MODAL;\n }\n\n get dataObject(): Procurement | Project | ProcurementReference {\n return this.$vmx.modal.listObject;\n }\n\n async submit() {\n if (this.submitting) {\n return;\n }\n this.submitting = true;\n // const activityLog = await globalFunctions.createActivityLogFromItem(this.dataObject);\n if (!this.originalLists == null && !this.originalLists.some(list => list.id != this.chosenList.id)) {\n this.submitting = false;\n return;\n }\n\n const listsToUpdate: List[] = [];\n\n if (this.originalLists && this.originalLists.length > 0) {\n const removedLists = this.originalLists.filter(list => list.id != this.chosenList.id);\n removedLists.forEach((list) => {\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\n if (list.procurements) {\n list.procurements = list.procurements.filter(procurementId => procurementId != this.dataObject.id);\n listsToUpdate.push(list);\n }\n } else {\n if (list.projects) {\n list.projects = list.projects.filter(projectId => projectId != this.dataObject.id);\n listsToUpdate.push(list);\n }\n }\n });\n }\n\n if (globalFunctions.isProcurementOrProcurementReference(this.dataObject)) {\n if (this.chosenList.procurements && !this.chosenList.procurements.some(procurementId => procurementId == this.dataObject.id)) {\n this.chosenList.procurements.push(this.dataObject.id);\n listsToUpdate.push(this.chosenList);\n }\n } else {\n if (this.chosenList.projects && !this.chosenList.projects.some(projId => projId == this.dataObject.id)) {\n this.chosenList.projects.push(this.dataObject.id);\n listsToUpdate.push(this.chosenList);\n }\n }\n\n try {\n for (const listToUpdate of listsToUpdate) {\n const list = await this.$vmx.list.putList(listToUpdate);\n if (list) {\n this.error = false;\n } else {\n this.error = true;\n break;\n }\n }\n if (!this.error) {\n this.hideModal();\n }\n this.submitting = false;\n } catch {\n this.error = true;\n this.submitting = false;\n }\n }\n\n openListSettingsModal() {\n this.$vmx.modal.openListSettingsModal({ list: null, listObject: this.dataObject });\n }\n\n openListRemoveModal() {\n this.$vmx.modal.openListRemoveModal(this.dataObject);\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n hasList() {\n return this.$vmx.list.lists != null && this.$vmx.list.lists.length > 0;\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\n\n@Component({\n components: {\n BaseModalContainer,\n },\n})\nexport default class ModalListRemove extends Vue {\n selectedLists: List[] = [];\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n initializeModal() {\n this.loading = true;\n if (this.listsWithDataObject.length > 0) {\n this.selectedLists.push(this.listsWithDataObject[0])\n }\n this.loading = false;\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n get modalId(): string {\n return ModalIds.LIST_REMOVE_MODAL;\n }\n\n get dataObject(): Project | Procurement | ProcurementReference {\n return this.$vmx.modal.listObject;\n }\n\n get listsWithDataObject(): List[] {\n return this.$vmx.list.listsWithObject(this.dataObject);\n }\n\n selectedContainsList(id: number): boolean {\n return this.selectedLists.some(list => list.id === id);\n }\n\n createListName(list: List) {\n const length = list.paUserIds.length;\n if (length > 1) {\n return `${list.name} (${this.$tc('components.iconBar.list.sharedWidth', length - 1, [length - 1])})`;\n }\n return list.name;\n }\n\n addList(list: List) {\n if (!this.selectedContainsList(list.id)) {\n this.selectedLists.push(list);\n }\n }\n\n removeList(id: number) {\n if (this.selectedContainsList(id)) {\n const index = this.selectedLists.findIndex((list) => list.id === id);\n if (index >= 0) {\n this.selectedLists.splice(index, 1);\n }\n }\n }\n\n async removeFromLists() {\n if (this.selectedLists.length <= 0) {\n return;\n }\n this.submitting = true;\n try {\n for (const selectedList of this.selectedLists) {\n let newList: List = null;\n const isProcurement = globalFunctions.isProcurementOrProcurementReference(this.dataObject);\n if (isProcurement) {\n const index = selectedList.procurements.findIndex((procId) => procId === this.dataObject.id);\n if (index >= 0) {\n selectedList.procurements.splice(index, 1);\n await this.$vmx.list.putList(selectedList);\n }\n } else {\n const index = selectedList.projects.findIndex((procId) => procId === this.dataObject.id);\n if (index >= 0) {\n selectedList.projects.splice(index, 1);\n await this.$vmx.list.putList(selectedList);\n }\n }\n }\n this.error = false;\n this.hideModal();\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n}\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\nimport { Component, Ref, Vue, Watch } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport FormMailTime from '@/components/forms/form-mail-time.vue';\nimport { globalFunctions } from '@/util/global-functions';\nimport { List } from '@/interfaces/list';\nimport { listService } from '@/services/restapi/list-service';\nimport { MailTime } from '@/interfaces/enums/mail-time';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Procurement } from '@/interfaces/procurement';\nimport { ProcurementReference } from '@/interfaces/procurement-reference';\nimport { Project } from '@/interfaces/project';\nimport { RouterNames } from '@/util/enums/router-names';\nimport { User } from '@/interfaces/user';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n FormMailTime,\n },\n})\nexport default class ModalListSettings extends Vue {\n @Ref() listName: BaseInputField;\n listCopy: List = null;\n listsWithObject: List[] = null;\n users: User[] = [];\n selectedUsers: User[] = [];\n loading = true;\n submitting = false;\n error = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get buttonRowClasses() {\n return [\n `justify-content-${this.list ? 'between' : 'end'}`,\n ];\n }\n \n get dataObject(): Project | Procurement | ProcurementReference {\n return this.$vmx.modal.listObject;\n }\n\n get deleteModalId(): string {\n return `delete-${this.modalId}`;\n }\n\n get formIsValid(): boolean {\n return this.listName.validate() && this.selectedUsers.length > 0;\n }\n\n get list(): List {\n return this.$vmx.modal.list;\n }\n\n get modalId(): string {\n return ModalIds.LIST_SETTINGS_MODAL;\n }\n\n @Watch('selectedUsers')\n selectedUsersChanged() {\n this.listCopy.paUserIds = this.selectedUsers.map(x => x.id);\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal(this.modalId);\n }\n }\n\n async createNewList(): Promise {\n const newList: List = {\n id: null,\n name: '',\n projects: !globalFunctions.isProcurementOrProcurementReference(this.dataObject) ? [this.dataObject.id] : [],\n procurements: globalFunctions.isProcurementOrProcurementReference(this.dataObject) ? [this.dataObject.id] : [],\n mailTime: MailTime.Daily,\n paUserIds: [],\n budgetSum: null,\n };\n return newList;\n }\n\n async deleteList() {\n this.submitting = true;\n try {\n await listService.deleteList(this.listCopy.id)\n const index = this.$vmx.list.lists.findIndex((list: List) => list.id == this.listCopy.id);\n this.$vmx.list.lists.splice(index, 1);\n this.$emit('listDeleted');\n this.hideModal(this.deleteModalId);\n if (this.$route.name === RouterNames.LOGGED_IN_LIST_VIEW) {\n this.$router.push({ name: RouterNames.LOGGED_IN_DASHBOARD });\n }\n this.submitting = false;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n\n async getOriginalLists() {\n if (this.dataObject) {\n await this.$vmx.list.fetchLists();\n if (this.$vmx.list.lists != null && this.$vmx.list.lists.length > 0) {\n this.listsWithObject = this.$vmx.list.listsWithObject(this.dataObject)\n .filter(list => list.id != this.listCopy.id);\n }\n }\n }\n\n hideModal(modal: string) {\n const element = document.getElementById(modal);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (this.list) {\n this.listCopy = {...this.list};\n this.setUsers();\n this.getOriginalLists().then(() => {\n this.loading = false;\n });\n } else {\n this.createNewList().then((newList) => {\n this.listCopy = newList;\n this.setUsers();\n this.getOriginalLists().then(() => {\n this.loading = false;\n });\n });\n }\n }\n\n nameValidator(name: string): boolean {\n return name.trim().length >= 1 && name.trim().length <= 100;\n }\n\n openModal(id: string) {\n const element = document.getElementById(id);\n const modal = new Modal(element);\n modal.show();\n }\n\n private setUsers() {\n const user = this.$vmx.user.user as User;\n this.users = this.$vmx.user.colleagues;\n if (this.listCopy.id) {\n this.selectedUsers = this.users.filter(x => this.listCopy.paUserIds.some(paUserId => paUserId === x.id));\n } else {\n this.selectedUsers = [user];\n }\n }\n\n async submit() {\n if (this.formIsValid) {\n this.submitting = true;\n try {\n if (this.listCopy.id) {\n const newList = await listService.putList(this.listCopy);\n if (newList) {\n this.error = false;\n this.$vmx.list.putList(newList);\n } else {\n this.error = true;\n }\n this.submitting = false;\n this.hideModal(this.modalId);\n } else {\n const addedList = await listService.postList(this.listCopy);\n if (addedList) {\n this.error = false;\n this.$vmx.list.lists.push(addedList);\n } else {\n this.error = true;\n }\n this.submitting = false;\n this.hideModal(this.modalId);\n }\n } catch (error) {\n this.error = true;\n this.submitting = false;\n }\n }\n }\n}\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\nimport { Component, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseInputTextarea from '../form-fields/base-input-textarea.vue';\nimport BaseModalContainer from '@/components/modals/base-modal-container.vue';\nimport { Modal } from 'bootstrap';\nimport { ModalIds } from '@/util/enums/modal-ids';\nimport { Tip } from '@/interfaces/tip';\nimport { tipService } from '@/services/restapi/tip-service';\n\n@Component({\n components: {\n AbstractForm,\n BaseModalContainer,\n },\n})\nexport default class ModalTip extends Vue {\n @Ref() tipDescription: BaseInputTextarea;\n\n tipCopy: Tip = null;\n\n error = false;\n loading = true;\n submitting = false;\n tipSent = false;\n\n mounted() {\n this.addEventListeners();\n }\n\n activated() {\n this.addEventListeners();\n }\n\n get formIsValid(): boolean {\n return this.tipDescription.validate();\n }\n\n get modalId(): string {\n return ModalIds.TIP_MODAL;\n }\n\n get tip(): Tip {\n return this.$vmx.modal.tip;\n }\n\n addEventListeners() {\n const modalElement = document.getElementById(this.modalId);\n modalElement?.addEventListener('shown.bs.modal', this.initializeModal);\n modalElement?.addEventListener('hidePrevented.bs.modal', this.clickBackdrop);\n }\n\n clickBackdrop() {\n if (!this.submitting) {\n this.hideModal();\n }\n }\n\n hideModal() {\n const element = document.getElementById(this.modalId);\n if (element) {\n const modal = Modal.getInstance(element);\n if (modal) {\n modal.hide();\n }\n }\n }\n\n initializeModal() {\n this.loading = true;\n if (this.tip) {\n this.tipCopy = {...this.tip};\n this.error = false;\n this.loading = false;\n this.submitting = false;\n this.tipSent = false;\n } else {\n this.hideModal();\n }\n }\n\n async submit() {\n if (this.formIsValid) {\n this.submitting = true;\n try {\n await tipService.postTip(this.tipCopy);\n this.submitting = false;\n this.tipSent = true;\n } catch (error) {\n this.error = true;\n this.submitting = false;\n this.tipSent = false;\n }\n }\n }\n}\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\nimport { Component, Vue } from 'vue-property-decorator';\nimport BaseLogo from '@/components/buttons/base-logo.vue';\nimport { getWordpressLink } from '@/util/domain-utils';\nimport { Language } from '@/interfaces/language';\n@Component({\n components: {\n BaseLogo,\n },\n})\nexport default class TheFooter extends Vue {\n // routeNames = {\n // about: RouterNames.LOGGED_OUT_ABOUT,\n // bookDemo: RouterNames.LOGGED_OUT_BOOK_DEMO,\n // contact: RouterNames.LOGGED_OUT_CONTACT,\n // cookiePolicy: RouterNames.LOGGED_OUT_COOKIE_POLICY,\n // jura: RouterNames.LOGGED_OUT_JURA,\n // prices: RouterNames.LOGGED_OUT_PRICES,\n // services: RouterNames.LOGGED_OUT_SERVICES,\n // };\n\n get languages() {\n return (this.$vmx.language.languages as Language[])\n .sort((language1, language2) => language1.nativeName.localeCompare(language2.nativeName))\n .map((languageId: Language) => [\n languageId,\n this.$vmx.language.language.id === languageId.id,\n () => {\n this.$vmx.language.updateLanguage(languageId);\n location.reload();\n },\n ]);\n }\n\n}\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'),\"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\nimport { Component, Prop, Ref, Vue } from 'vue-property-decorator';\nimport AbstractForm from '@/components/forms/abstract-form.vue';\nimport BaseAlert from '@/components/containers/base-alert.vue';\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue';\nimport { ResponseCodes } from '@/util/enums/response-codes';\n\n@Component({\n components: {\n AbstractForm,\n BaseLoadingSpinner,\n BaseAlert,\n },\n})\nexport default class FormLoginLimitedAccess extends Vue {\n @Prop({ default: 'white '}) textColor: string;\n @Prop() backgroundColor: string;\n @Prop({ default: '5' }) paddingX: string;\n @Prop({ default: '5' }) paddingY: string;\n @Prop({ default: false }) centerHeader: boolean;\n @Ref() formContainer: HTMLDivElement;\n @Ref() coderef: HTMLInputElement[];\n\n formSize = window.innerWidth;\n\n name = '';\n mail = '';\n\n liveValidate: 'always' | 'onlyOnValid' = 'onlyOnValid';\n codeLiveValidate: 'always' | 'onlyOnValid' = 'onlyOnValid'\n\n nameIsValid = false;\n mailIsValid = false;\n\n codeFormState: 'new' | 'existing' | 'code' = 'new';\n\n disabled = false;\n\n spinnerOn = false;\n\n errorMessage: 'conflict' | 'error' | 'not found' | 'code error' | null = null;\n\n async create() {\n // const returnCode = this.$vmx.limitedAccess.create({ name: this.name, mail: this.mail })\n\n if (this.codeFormState == 'new' && this.nameIsValid && this.mailIsValid) {\n this.$vmx.limitedAccess.create({ name: this.name, mail: this.mail }).then((returnCode) => {\n if (returnCode == ResponseCodes.SUCCESS) {\n this.liveValidate = 'onlyOnValid';\n this.codeFormState = 'code';\n } else if (returnCode == ResponseCodes.CONFLICT) {\n this.errorMessage = 'conflict'\n } else {\n this.errorMessage = 'error';\n }\n })\n return;\n } else {\n this.liveValidate = 'always';\n }\n\n if (this.codeFormState == 'existing' && this.mailIsValid) {\n this.$vmx.limitedAccess.resend(this.mail).then((returnCode) => {\n if (returnCode == ResponseCodes.SUCCESS) {\n this.liveValidate = 'onlyOnValid';\n this.codeFormState = 'code';\n } else if (returnCode == ResponseCodes.NOT_FOUND) {\n this.errorMessage = 'not found';\n } else {\n this.errorMessage = 'error';\n }\n })\n return;\n } else {\n this.liveValidate = 'always';\n }\n\n return;\n }\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n this.resizeHandler();\n }\n\n get textSizeClass() {\n return [\n this.formSize > 496 ? 'roboto-5x' : this.formSize > 436 ? 'roboto-4x' : 'roboto-3x',\n ];\n }\n\n keyup(n: 0 | 1 | 2 | 3, keyEvent: KeyboardEvent) {\n if (n <= 2 && this.coderef[n].value != '') {\n this.coderef[n + 1].focus();\n }\n\n if (this.coderef.every((input) => input.value != '')) {\n const code = this.coderef.map((input) => input.value).reduce((s1, s2) => s1 + s2);\n this.spinnerOn = true;\n\n this.$vmx.limitedAccess.auth({ mail: this.mail, code })\n .then((status) => {\n if (status == ResponseCodes.SUCCESS) {\n location.reload();\n } else {\n this.errorMessage = 'code error';\n this.spinnerOn = false;\n this.coderef.forEach((input) => input.value = '');\n }\n });\n }\n }\n\n public resizeHandler() {\n if (this.formContainer) {\n this.formSize = this.formContainer.clientWidth;\n }\n }\n\n codeValidator(val: string) {\n const isValid = val.match('[a-z]{4}') != null;\n return isValid;\n }\n\n mailClick() {\n this.name = '';\n this.mail = '';\n this.liveValidate = 'onlyOnValid';\n\n this.errorMessage = null;\n\n if (this.codeFormState == 'new') {\n this.codeFormState = 'existing';\n } else if (this.codeFormState == 'existing') {\n this.codeFormState = 'new';\n }\n }\n}\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\nimport { Component, Ref, Vue } from 'vue-property-decorator';\nimport FormBookDemo from '@/components/forms/form-book-demo.vue';\nimport FormLogin from '@/components/forms/form-login.vue';\nimport FormLoginLimitedAccess from '@/components/forms/form-login-limited-access.vue';\nimport { RouterNames } from '@/util/enums/router-names';\nimport TheHeader from '@/components/headers/the-header.vue';\n\n@Component({\n components: {\n FormBookDemo,\n FormLogin,\n FormLoginLimitedAccess,\n TheHeader,\n },\n})\nexport default class TheLoginPrompt extends Vue {\n @Ref() bookDemoContainer: HTMLDivElement;\n \n windowSize = window.innerWidth;\n\n isProjectData: boolean = null;\n\n colClasses = 'col-12 col-md-10 col-lg-6'\n\n mounted() {\n window.addEventListener('resize', this.resizeHandler);\n }\n\n get bookDemoUrl() {\n return 'https://calendly.com/d/cqcv-4s7-cj8/projektagenten-demo'\n + '?hide_event_type_details=1'\n + '&hide_gdpr_banner=1'\n + '&primary_color=f45d01'\n }\n \n get isProject() {\n if (this.isProjectData == null) {\n this.isProjectData = this.$router.currentRoute.name === RouterNames.LOGGED_IN_PROJECT_VIEW;\n \n this.$router.afterEach((to, from) => {\n this.isProjectData = to.name === RouterNames.LOGGED_IN_PROJECT_VIEW \n });\n }\n\n return this.isProjectData;\n }\n\n resizeHandler() {\n this.windowSize = window.innerWidth;\n }\n\n scrollToBookDemo() {\n if (this.bookDemoContainer) {\n this.bookDemoContainer.scrollIntoView();\n }\n }\n}\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=61a297dc&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=61a297dc&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 \"61a297dc\",\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\nimport { globalFunctions } from '@/util/global-functions';\nimport ModalAgentDelete from '@/components/modals/modal-agent-delete.vue';\nimport ModalAgentReplace from '@/components/modals/modal-agent-replace.vue';\nimport ModalAgentSettings from '@/components/modals/modal-agent-settings.vue';\nimport ModalBlacklistRemove from '@/components/modals/modal-blacklist-remove.vue';\nimport ModalBlacklistSettings from '@/components/modals/modal-blacklist-settings.vue';\nimport ModalCompanyAgentDelete from '@/components/modals/modal-company-agent-delete.vue';\nimport ModalCompanyAgentReplace from '@/components/modals/modal-company-agent-replace.vue';\nimport ModalCompanyAgentSettings from '@/components/modals/modal-company-agent-settings.vue';\nimport ModalCompanyListAdd from '@/components/modals/modal-company-list-add.vue';\nimport ModalCompanyListRemove from '@/components/modals/modal-company-list-remove.vue';\nimport ModalCompanyListSettings from '@/components/modals/modal-company-list-settings.vue';\nimport ModalListAdd from '@/components/modals/modal-list-add.vue';\nimport ModalListRemove from '@/components/modals/modal-list-remove.vue';\nimport ModalListSettings from '@/components/modals/modal-list-settings.vue';\nimport ModalPaywall from '@/components/modals/modal-paywall.vue';\nimport ModalTip from '@/components/modals/modal-tip.vue';\nimport { RouterNames } from '@/util/enums/router-names';\nimport TheFooter from '@/components/footers/the-footer.vue';\nimport TheHeader from '@/components/headers/the-header.vue';\nimport TheLoginPrompt from '@/components/general-components/the-login-prompt.vue';\n\n@Component({\n components: {\n TheLoginPrompt,\n TheHeader,\n TheFooter,\n ModalAgentDelete,\n ModalAgentReplace,\n ModalAgentSettings,\n ModalBlacklistRemove,\n ModalBlacklistSettings,\n ModalCompanyAgentDelete,\n ModalCompanyAgentReplace,\n ModalCompanyAgentSettings,\n ModalCompanyListAdd,\n ModalCompanyListRemove,\n ModalCompanyListSettings,\n ModalListAdd,\n ModalListRemove,\n ModalListSettings,\n ModalPaywall,\n ModalTip,\n },\n})\nexport default class Layout extends Vue {\n public userLoggedIn = false;\n public limitedAccessLoggedIn = false;\n\n public loading = true;\n\n mounted() {\n Promise.race([this.$vmx.user.fetchUser(), this.$vmx.limitedAccess.fetchLimitedAccess()])\n .finally(() => this.loading = false);\n }\n\n get isLoggedIn(): boolean {\n const isLimitedAccessLoggedIn = this.$vmx.limitedAccess.limitedAccess?.id != null && (this.$route.meta?.limitedAccess ?? false);\n\n return this.$vmx.user.user?.id != null || isLimitedAccessLoggedIn;\n }\n\n get showLoginPage(): boolean {\n return !(this.$route.meta.requireLogin ?? true) || this.$vmx.session.isLoggedinUser;\n }\n\n get requireLogin(): boolean {\n return this.$route.meta.requireLogin ?? true;\n }\n\n get paywallModalId() {\n return globalFunctions.getPaywallModalId();\n }\n\n get hideHeaderFooter() {\n return this.$route.meta.hideHeaderFooter ?? false;\n }\n}\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=30159932&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=30159932&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 \"30159932\",\n null\n \n)\n\nexport default component.exports","import BaseAlert from '@/components/containers/base-alert.vue';\nimport BaseButton from '@/components/buttons/base-button.vue';\nimport BaseButtonIcon from '@/components/buttons/base-button-icon.vue';\nimport BaseContainer from '@/components/containers/base-container.vue';\nimport BaseInputCheckbox from '@/components/form-fields/base-input-checkbox.vue';\nimport BaseInputField from '@/components/form-fields/base-input-field.vue';\nimport BaseInputRadio from '@/components/form-fields/base-input-radio.vue';\nimport BaseInputSelect from '@/components/form-fields/base-input-select.vue';\nimport BaseInputTextarea from '@/components/form-fields/base-input-textarea.vue';\nimport BaseLoadingSpinner from '@/components/general-components/base-loading-spinner.vue';\nimport CriteriaTree from '@/components/search-components/criteria-tree.vue';\nimport CriterionTree from '@/components/search-components/criterion-tree.vue';\nimport InputPhone from '@/components/form-fields/input-phone.vue';\nimport InputTags from '@/components/form-fields/input-tags.vue';\nimport Layout from '@/views/layouts/layout.vue';\nimport Vue from 'vue';\n\nexport default function() {\n Vue.component('Layout', Layout);\n\n // BUTTONS\n Vue.component('BaseButton', BaseButton);\n Vue.component('BaseButtonIcon', BaseButtonIcon);\n\n // CONTAINERS\n Vue.component('BaseAlert', BaseAlert);\n Vue.component('BaseContainer', BaseContainer);\n\n // INPUT COMPONENTS\n Vue.component('BaseInputCheckbox', BaseInputCheckbox);\n Vue.component('BaseInputField', BaseInputField);\n Vue.component('BaseInputRadio', BaseInputRadio);\n Vue.component('BaseInputSelect', BaseInputSelect);\n Vue.component('BaseInputTextarea', BaseInputTextarea);\n Vue.component('InputPhone', InputPhone);\n Vue.component('InputTags', InputTags);\n\n // OTHER\n Vue.component('BaseLoadingSpinner', BaseLoadingSpinner);\n\n // RECURSIVE COMPONENTS\n // Tree\n Vue.component('CriteriaTree', CriteriaTree);\n Vue.component('CriterionTree', CriterionTree);\n}\n","import { AbstractService } from '../superclasses/abstract-service';\nimport { apiConfig } from '../config/api.config';\nimport { AxiosRequestConfig } from 'axios';\nimport { LocaleMessages } from 'vue-i18n';\n\nconst api = '/translations';\n\nexport class TranslationService extends AbstractService {\n constructor(config: AxiosRequestConfig) {\n super(config);\n }\n\n public getTranslations = async (id: number): Promise => {\n const response = await this.get(`${api}/${id}`);\n return this.getResponse(response);\n };\n}\n\nexport const translationService = new TranslationService(apiConfig);\n","import '@fontsource/lato';\nimport '@fontsource/lato/300.css';\nimport '@fontsource/lato/700.css';\nimport '@fontsource/roboto';\nimport '@fontsource/roboto/300.css';\nimport '@fontsource/roboto/500.css';\nimport '@fontsource/roboto/700.css';\nimport 'bootstrap';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\nimport 'vue-tel-input/dist/vue-tel-input.css';\nimport * as domainUtils from './util/domain-utils';\nimport { store, vmx } from './store';\nimport addToLibrary from './util/font-awesome-import';\nimport App from './app.vue';\nimport BootstrapVue from 'bootstrap-vue';\nimport Component from 'vue-class-component';\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';\nimport i18n from './localization/i18n';\nimport importComponents from './util/component-import';\nimport { Language } from './interfaces/language';\nimport router from './router';\nimport { translationService } from './services/restapi/translation-service';\nimport { User } from './interfaces/user';\nimport Vue from 'vue';\nimport vueDebounce from 'vue-debounce';\nimport VueGtm from '@gtm-support/vue2-gtm';\nimport VueI18n from 'vue-i18n';\nimport VueSlider from 'vue-slider-component';\nimport VueTelInput from 'vue-tel-input';\n\n\nVue.config.productionTip = false;\n\naddToLibrary();\n\nVue.component('FontAwesomeIcon', FontAwesomeIcon);\nVue.component('VueSlider', VueSlider);\n\nimportComponents();\n\nVue.use(VueTelInput);\n\nVue.use(BootstrapVue);\n\nVue.use(vueDebounce);\n\n// TODO: Quick fix løsning, lav mere generel løsning\nconst gtmCode = domainUtils.domain.tld == 'se'\n ? 'GTM-N347SDF'\n : 'GTM-ML8VKDV'\n\nVue.use(VueGtm, {\n /* Your GTM single container ID, array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy'] or array of objects\n [{id: 'GTM-xxxxxx', queryParams: { gtm_auth: 'abc123', gtm_preview: 'env-4', gtm_cookies_win: 'x'}},\n {id: 'GTM-yyyyyy', queryParams: {gtm_auth: 'abc234', gtm_preview: 'env-5', gtm_cookies_win: 'x'}}],\n Your GTM single container ID or array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy']\n */\n // id: 'GTM-ML8VKDV',\n id: gtmCode,\n /* Script can be set to `defer` to speed up page load at the cost of less accurate results\n (in case visitor leaves before script is loaded, which is unlikely but possible).\n Defaults to false, so the script is loaded `async` by default\n */\n defer: false,\n // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\n enabled: true,\n // Whether or not display console logs debugs (optional)\n debug: true,\n /* Whether or not to load the GTM Script (Helpful if you are including GTM manually,\n but need the dataLayer functionality in your components) (optional)\n */\n loadScript: true,\n // Pass the router instance to automatically sync with router (optional)\n vueRouter: router,\n // Don't trigger events for specified router names (case insensitive) (optional)\n // ignoredViews: ['homepage'],\n // Whether or not call trackView in Vue.nextTick\n trackOnNextTick: false,\n});\n\nVue.prototype.$vmx = vmx;\n\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteLeave', 'beforeRouteUpdate']);\n\nfunction splash(language: string, user: User) {\n console.log(`\n _____ _ _ _ _ \n | __ | (_) | | | | | | \n | |__) _ __ ___ _ ___| | _| |_ __ _ __ _ ___ _ __ | |_ ___ _ __ \n | ___| '__/ _ || |/ _ | |/ | __/ _' |/ _' |/ _ | '_ || __/ _ | '_ | \n | | | | | (_) | | __| <| || (_| | (_| | __| | | | || __| | | |\n |_| |_| |___/| ||___|_||_||__|__,_||__, ||___|_| |_||__|___|_| |_|\n _/ | __/ | \n |__/ |___/ \n\n Enviroment: ${process.env.NODE_ENV}\n Domain: ${domainUtils.domain.name}\n Language: ${language}\n PaUser Id: ${user?.id}\n User Id: ${user?.userId}\n Product: ${user?.product?.name}\n `)\n}\n\nnew Vue({\n router,\n store,\n i18n,\n beforeCreate() {\n const language: Language = this.$vmx.language.language;\n\n splash(language.nativeName, this.$vmx.user.user)\n\n const html = document.documentElement;\n html.setAttribute('lang', language.iso6391);\n\n vmx.session.init();\n\n (window as any).$vmx = vmx; // For debugging; Use browser terminal to access vmx\n (window as any).$router = this.$router; // For debugging\n\n translationService.getTranslations(language.id).then((message) => {\n if (message != null) {\n i18n.setLocaleMessage(language.iso6391, message);\n }\n });\n\n // addEventListener('keyup', (event) => {\n // if (event.ctrlKey && event.key == 'i') {\n // if (i18n.messages[language.iso6391] == null) {\n // translationService.getTranslations(language.id).then((message) => {\n // i18n.setLocaleMessage(language.iso6391, message);\n // });\n // } else {\n // i18n.setLocaleMessage(language.iso6391, null);\n // }\n // }\n // });\n },\n render: (h) => h(App),\n}).$mount('#app');\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!./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!./the-login-prompt.vue?vue&type=style&index=0&id=61a297dc&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!../../../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=7c77d450&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":""}